MischhCombatTexts
- a replacement for FloatText -
Inspired by WoW-Addons, such as MSBT or Parrot, this Addon provides a facility to Combine alot of different Texts from the screen to a small amount of color-coded texts, which move a predefined route. In its default Configuration it's combining the damage/healing done to units on the screen (including yourself) into two ascending paths around your character.
Open the Settings by typing '/mct' or by clicking the 'MischhCombatTexts'-Button inside the Esc-Menu.
This is the first Wildstar-Addon, I wrote completely from scratch and as such was not intended for Curse. But as there is nothing I found to be close on doing the same, I decided to release it. Please keep in mind, that this Addon is not written to be userfriendly at all (this is very noticable, once one sees the 'Functions'-Tab inside the Settings)
A Introduction to the Panels-Tab:
- ANY change done will be recognized as soon as possible, but some changes might not apply to currently displayed texts (but all will apply to newly appearing ones)
- You can Add/Remove Panels at the Top-Left and select the Panel to-be-edited on the right.
- A panels name is only descriptive. It does not need to be unique, but should be distinguishable for later usage in the 'Text Options'
- The alignment lets you choose to make your texts orient themselves along the left or right edge of this panel. Icons will always be located on this side aswell.
- The Mode lets you choose between
- Rise - Over the duration of a text, it will gradually move from the Source, to its Destination
- Lift - Texts try to stick to their Source, and will be lifted up, once a new text appears
- Stack - Texts try to stick to their Source, new texts stack upon older and move towards their source, with older texts disappearing.
- The Direction selects the source of a text and where these move towards.
- The Text Scale lets you choose the size of a text.
- The Duration is the total time a text is displayed
- The Changable time is the part of the total duration, in which a text may change
- Instead of texts moving up/down a edge of your panel, you can offset the text from this path:
- Angled - The Text will start at its 'default' position and the further it goes down its path, it'll move away from the aligned edge.
- Triangular - The Text will start at its 'default' position and moves away from its edge until it turns at the very center, back to the edge.
- Circular - The Text starts at its 'default' position, to move in a half-circle across the panel.
- Angled (inverse) - The text starts at the maximal offset to move in a straight line back towards the edge.
- Triangular (inverse) - The text starts at the maximal offset, moves towards the edge, turns around, and gradually gains maximal offset again.
- Circular (inverse) - The text starts at the maximal offset, makes a half-circle directed towards the edge and ends up at maximal offset again.
- The Offset is measured in panel-widths: At 0.5 Offset, a text will maximally be offset by half of the panel.
A Introduction to the Text Options Tab:
In this Tab 'Events', are formatted, colored and output as texts to a panel.
- Events can be added with a name (not changeable afterwards) or removed. The name needs to be unique!
- An Event is concidered 'Input', if you are the Target of the Event. ('Output', if you are the Source)
- The Format is used as template for the text-output. '%' is the escape-character here. There are some usual shortcuts, but none of them is guaranteed to be available.
- '%n' - The specific Name of this Event (The spellname)
- '%a' - The Amount (Total Damage done with this spell)
- '%h' - Hit-Counter (Number of non-crits with this spell)
- '%c' - Crit-Counter (Number of crits with this spell)
- The Color is used as text-color.
- The Panel to display selects, where to output this events texts to
A Introduction to the Functions-Tab:
- The Name is only Descriptive, does not need to be unique, and can be freely chosen.
- The WS-Event (Wilstar Event) should be the Name of a Event, which one could register for by 'Apollo.RegisterEventHandler()'
- The Function, to be written in LUA. This Code will be compiled, once 'Save' was pressed. Access to the function will be gained by
f = loadstring("return ("..<FUNCTION>..")")()
usually a function would have such a structure and has access to these functions through 'self', additional to the global namespace ofc.
function(self, ...) self.func --reference to the function itself. Replace, to change the function called by this event --returns true, false or nil for 'Is Target', 'Is Source' or none - returns 'Is Source', if both self:IsIncoming(targetUnit, sourceUnit) self:AddDefaultText(event, isInc, key, icon, amount, isCrit) self:AddDefaultText("Damage", true, "Quantumcascade", strIconPath, 1234, false) self:AddCustomText(event, isInc, key, icon, [shortcut, val], [s ,v], ...) self:AddCustomText("Damage", true, "Quantumcascade", strIconPath, "%a", 1234, "%h", 1, "%c", 0) self:AddCustomText(event, isInc, key, icon, func, params...) local func = function (text a, h, c) text["%a"] = (text["%a"] or 0) + a text["%h"] = (text["%h"] or 0) + h text["%c"] = (text["%c"] or 0) + c end self:AddCustomText("Damage", true, "Quantumcascade", strIconPath, func, 1234, 1, 0) end
Credits:
FloatText - Carbine. I only replace half of the Addon FloatText, the other half, which handles acievements and other displays, were not edited.
JSON - MIT Lua module by David Kolf