Line Display (re-arrange mode)
|
|
Grid Display (re-arrange mode)
|
|
Effect Display (missing mode, Line layout)
|
|
Effect Display (existent mode, saved, Line layout)
|
|
Note: Version 0.6 will nuke previous version's configurations.
Note: Version 0.7 has changed some of the status names. You may need to erase/restore defaults on your configurations.
This is my attempt to implement fellowship/raid vitals via the lua interface.
This plugin uses the chat handler, which, as always means it doesn't play well with other plugins that use the chat handler.
This is intended to replace fellowship/raid vitals. Due to the limitations of the lua interface, you'll lose access to raid assist indicators. Also, it doesn't quite mimic the only show effects cast by you option.
Buffs/debuffs can be a little laggy - there's an option to set the effect polling interval (/pf poll <seconds>) - it's set to 1 second by default, which seems to have a fairly minimal impact on performance, while still removing effects that no longer exist in a fairly timely manner. Setting the interval to 0 will disable polling. Also, polling is disabled if you're editing a text field in the options panel (i.e., entering an effect name or setup name) - for some reason polling removes the focus from those text boxes. I'm not sure why.
Loading:
Just load the PartyFrame plugin. It should perform a reload if someone joins during a raid (about the only time that it will fail to detect a change in the party). I haven't tested this, really, though.
Display:
There are now three settings - orientation (which way the vitals "grow"), arrangement (Line vs. Grid - Line arranges the vitals in a vertical line, Grid is more free form), and layout (what an individual vital display looks like).
When you enter UI rearrange mode (ctrl-\), you'll be able to move around members, fellowships (in line arrangement), and the display itself. Right clicking on the display tab will let you set the arrangement (Line/Grid) and the orientation (Up/Down/Left/Right). Right clicking on a player's vitals will let you hide/show the pet vitals (if any). (Note: selecting members via click is disabled while you're rearranging the UI - EntityControl doesn't play well with mouse events.) You can also move a member into a new fellowship by dragging them off the left or right end of the member's vital display, and then up or down.
Vitals are completely layout dependent now. You should have things like a ready indicator, effect displays, player name, morale/power display.
Configuration:
You can open the options panel using "/pf options". (For French language clients, the short name is now "/pfr")
At the top, is a drop down menu that lets you select the layout. Changing layout will destroy all of your previous settings.
After that is a set of buttons that lets you select which control in the layout you'd like to configure.
You have three types of configuration controls:
1. Drop down boxes - like the existent/missing drop down box. And that's about it. They work as you'd expect.
2. Fields - you can do things like set the power indicator, morale threat time, effect durations, etc. Power indicator is the bright blue bit on the left of the power bar. Morale threat time is the size of the window when tracking maximum spike damage. Effect durations override the effect's durations when displaying remaining time - if it's non-zero it'll just show the last x seconds of the time, if it's 0 it'll show the duration as normal.
3. Effects/statuses - Each effect or status is as a row, with an icon on the left, and a text box containing the name on the right. You can click on the text box to change the name, or right click on the icon to bring up a context menu with Cut, Copy, Delete, Insert, Paste, Debuff, Save, New Group. The first five work as you'd expect. Debuff toggles whether the effect is a debuff (does nothing for statuses), Save saves the effect or status, and New Group creates a new group starting with that effect/status. You can drag and drop the effects - dragging them to any button control on the top will move it to that control's effects, if it has any. You can also click the drop down triangle on the far right in order to get a list of statuses and some generic debuff names that you can use.
Statuses are states that the party member can be in. They include "[linkdead]", "[connected]", "[voice]", "[morale]", "[power]", etc. The "[morale]" and "[power]" states are special, you'll need to add a comparison - either ">=" or "<=", and then a percentage or a number. So you could write "[morale] <= 50%", which would be active if the party member goes to 50% or less morale. Only the first "[morale]" and the first "[power]" status that holds will be active. So, for example, if your first group has "[morale] <= 100%", no other "[morale]" statuses will activate, since the first one is always active.
Effects are your regular buffs/debuffs - you can enter generic effects, such as "<wound>", "<disease>", "<fear>", "<poison>", "<curable>", "<incurable>" or combine them, such as "<curable wound>".
To the left are grouping indicators - you can right click on them to set the color. Color is broken into color (hue-saturation) and brightness (value). Selecting one will bring up either a color wheel or a brightness bar. If you click on the transparent border around the wheel or bar, either the color or brightness will be set to null. This means that the color will fall through, and the colors of groups after this one can be used. (For an example, see the "R" control in Line layout - specifically the "[not-leader]" and "[talking]" groups.) If the group has a null color or brightness, there will be a black or white square in the middle of the grouping indicator. If both are null, the square will be gray. To the right of the color is a textbox containing the count of a group. This is the number of elements (statuses or effects) that must exist in the group, before the group is considered active. For effects, this count determine which effect will be displayed. Positive numbers count down from the most recently applied effects (1 is the most recently applied effect, 2 is the second most recently applied effect, etc.), while negative numbers count up from the least recently applied effects (-1 is the least recently applied effect, -2 is the second least recently applied effect, etc.)
At the bottom - "Clear" will clear the effects/statuses, "Default" will restore the configuration of the current control to the default state. (Or for the Log, it'll restore all of the saved effects/statuses).
After that is the profile name. Profiles are saved configuration for a subset of the controls. For example, if you decided you needed to track "Static Shock" in the lightning wing, you'd enter (or log) the Static Shock debuffs into a control somewhere, type "lightning" in the profile name text box, and then hit the "Add Control" button below. This would save the configuration of the control with the "Static Shock" debuffs into the "lightning" profile. Then, later on, if you wanted to reload the "Static Shock" debuff configuration for that control, you would simply load the "lightning" profile. Controls which have a saved configuration in the current profile will have their button colored green (or orangeish, if in missing mode). You can load a profile use the "Load Profile" button or by typing "/pf load <profile name>". You can remove the currently selected control's configuration from a profile by using the "Remove Control" button. Profiles are layout specific - so any profiles you make for the Line layout won't be available for the Grid layout.
PartyFrame can toggle between being visible while you're solo using the "/pf solo" command - this should allow you to test out a configuration, even if you don't have a fellowship.
Existing layouts:
Vitals are made up of four parts - a ready state indicator, effect displays, player name, and a morale/power display. In line layout, they appear on a horizontal line, with the five effect displays to the left of the morale/power bars and five to the right. In grid layout, the name moves to the top, the ready state becomes the border, the morale display dominates everything, and there are nine effect displays - one in the center, and eight small colored squares around the edge.
Class is indicated by the background color of the vitals or the morale bar (burglars are black, captains are blue, champions are red, guardians are orange, hunters are green, lore masters are teal, minstrels are yellow, rune keepers are white, and wardens are purple).
Name color changes based on voice and link status (white is no voice, green is voice, red is link dead), and will turn a darker color when the member's morale hits 0.
Ready state is green/red/white for ready/not ready/not checked. The lead will have a brighter indicator. The color will turn blue (or blue-green or purple) when the player is speaking.
There are no numbers on the morale and power bars. In line layout they do get scaled based on the largest maximum morale and maximum power in the fellowship or raid. So you should be able to tell how much morale someone has left relative to their max morale and in absolute terms, fairly easily. Morale bars have a couple colors. Red is the five second spike damage (maximum amount of damage the player has taken within a five second window - disabled in grid layout). Orange is dread. Dark purple to dark red is temporary morale. Dark purple indicates at least 10 seconds remaining for the effect giving the temporary morale, and dark red indicating that the effect is about to expire. The lighter portion of the power bar is 1.4k worth of power.
In line layout, there are five effect slots to the left of the morale/power bars (covering the name) and five effect slots to the right. By default, the left handles debuffs/CC, and the right side handles class specific buffs. For certain classes (Captain, Burglar, Hunter, LM, and Minstrel) debuffs that will be removed by the class's debuff removal skill will also be displayed on the right.
In grid layout, there is a central effect slot, which by default displays curable debuffs based on class (or not if the class doesn't have any cures), and eight surrounding color squares which display buffs. Color and position indicates the buff, intensity of the color indicates duration.
In grid icon layout, the layout is pretty much identical to the grid layout, except the eight surrounding color squares are now effect slots.
It'll also track rolls (out of 100, only). It'll just display the order at the beginning of the name. Ties will have the same order. #? means a tie where one of the members who has tied has made an additional /roll, but not all of them have. You can clear the rolls with /pf clear.
Version History
0.12.1 - Changed the way the profile UI works a little - relabeled "Save" to "Add Control" and "Delete" to "Remove Control". Options UI should respond to changes in the profile name text box a bit more quickly. Profiles still work the same way.
Re-enabled saving the position of the window. Added the ability to save window position to /ui layout (note: This will actually associate a saved window position with the path name of a UI layout file - if you move your UI/layouts directory, you'll lose your saved window positions.) For French client users who haven't figured out how to use the /iu command (since for some reason they didn't translate the help message), it's /iu [disposition [<sauvegarder|charger> [<filename>]]]. (Seriously, the German client's /ui help message is translated but the layout loaded/saved messages aren't, while the French client's help message is still in English, but the layout loaded saved message are in French. Sorry. Had to vent.)
Updated the German "X has joined the raid" message, so plugin will properly reload if someone joins your raid (and the Party object isn't updated). Thanks to Rafaello and Marloo for the string.
0.12 - Moved layout loading to the layout directory (main will now import the layout directory, and the __init__.lua file in that directory will state which layout files to load). Added comments to the size variables at the top of the layout files. Added "/pf solo" command. Added Grid Icon layout. Changed the default effects in Grid and Grid Icon again. Fixed a memory leak.
0.11.1 - Updated Grid so that it actually works again, changed morale bars of Beornings to brown, added an orange outline to the targeted player.
0.11 - Added support for Beornings. Beornings will always report that they have 1/1 power. (Unfortunately, wrath information for party members is not available.)
0.10 - Added counts to groups (allowing a group to be activated after a specified number of statuses and effects exist, and allowing specific effects to be displayed, not just the most recently applied one). Added an experimental plugin reloader.
0.9.2 - Fixed a bug with loading layout configurations. It should now actually use the last layout configuration you had set up on load, instead of reverting to default. Also changed the default power fill on the Line layout to 0.
0.9.1 - Fixed typo in Turbine.Lenguage.German
0.9 - RoR updates.
Added Improved War-cry, Tale of the Elements, Water-lore, and Resolve of the Hammerhand to the list of known effects.
Using GetLanguage() to determine client language.
Added "[target]" status - based on matching the target's name with fellowship member's name, so it can result in a false positive if there's a mob or pet with the same name as someone in the fellowship.
Changed temporary morale effects so it primarily looks for icon 0x411188D9, instead of searching for temporary morale effects by name. (Unsure how this will interact with temporary power effects. Too few to conveniently test.)
0.8.2 - Fixed a bug with damage threat tracking.
0.8.1 - Font sizes should now be chosen dynamically, so if you want to play with the width/size values in the layouts, it'll mostly look right. Except in Line mode, the triangle for pet displays may be off.
0.8 - Added buff/debuff polling.
0.7.2 - Nope, another dumb bug with [morale] and [power] handling. Hopefully that should be the last of them.
Fixed unknown debuff/buff logging.
0.7.1 - Fixed a dumb bug with [morale] and [power] handling. Should work as documented now.
0.7 - Added language support. Added German and French strings.
Added morale and power comparator statuses.
Added status/generic effect drop down menus.
Added null color/brightness indicators.
0.6.1 - Fixed a bug when moving effects out of the log.
0.6 - Code refactoring. Should be more modular now.
Created Layout directory, added a brief readme.txt on how to write layouts.
Terminology change - orientation is still orientation, but mode has been split into "arrangement" (how the vitals are laid out) and "layout" (what the vitals look like).
0.5.1 - Fixed moving members around in Grid mode.
Changed burglar's color back to black in Grid mode.
Muted colors a bit in Grid mode.
Decreased accuracy of spike damage counter - should be faster though.
0.5.0 - Added groups to existent mode.
Added color controls to effect groups.
Redid Grid mode to be primarily a large morale bar.
0.4.1 - Changed load/saved to work on serialized data. Hopefully should help out with international clients.
0.4 - Added Grid mode.
Added icons to all of the effects that are going to have them (Their Weapons Shall Not Harm Us is still not getting one).
Added effect slot setups.
Changed the effect logging options slightly.
Added duration indicator control.
0.3.1 - Stupid temporary morale effect bug fixed.
Added Protection By The Sword and Shall Not Fall This Day icons.
0.3 - Added ctrl-\ support to move the display around as well as individual member vitals.
Added an options panel to control which effects show up where.
Minor optimization - apparently resizing the shaded duration indicator is a computationally intensive process. Who knew?
Currently missing icons for - burglar signals, guardian protection and shield wall, Shall/Do Not Fall This Day. Their Weapons Shall Not Harm Us intentionally does not have an icon, since it can change.
Removed the plugins directory from the zip archive to make it play better with LPC.
0.2 - Update six.
Removed Warden 50% morale indicator.
Implemented ready state and speaking indicators.
Added pet support.
Updated to use EntityControl instead of RegisterForClickHandling
RK effects:
Removed Blade Will Not Wound
Removed Fang Will Nout Poison
Added Their Weapons Will Not Harm Us
Added Improved Rune-sign of X
Added Rune-sign of X
|