annotate verbage.lua @ 156:1e2ee3f52bc8 beta-l10n-2

Stub files to test server-side localization generator. These are NOT LOADED YET.
author Farmbuyer of US-Kilrogg <farmbuyer@gmail.com>
date Sat, 21 Feb 2015 17:04:00 -0500
parents 63bda09d88fe
children
rev   line source
farmbuyer@95 1 local addon = select(2,...)
farmbuyer@95 2 if addon.NOLOAD then return end
farmbuyer@95 3
farmbuyer@1 4 local todo = [[
farmbuyer@88 5 - Right-clicking the [ouroloot] chat link could do something different than
farmbuyer@88 6 the current left-clicking. Popup small menu in place?
farmbuyer@88 7
farmbuyer@100 8 - A fight duration of (0:00) happens when DBM gets confused. If it happens
farmbuyer@100 9 "near" another boss entry with nonzero duration, can we just safely assume
farmbuyer@100 10 that's the real entry and delete the zero entry altogether?
farmbuyer@100 11
farmbuyer@125 12 - Loading enough plugin tabs to grow a second tab row causes the ST frames
farmbuyer@125 13 to be too large.
farmbuyer@125 14
farmbuyer@107 15 - Rework candidate groups into the expiring caches.
farmbuyer@107 16
farmbuyer@88 17 - Break more methods out into private routines.
farmbuyer@1 18
farmbuyer@1 19 - implement ack, then fallback to recording if not ack'd
farmbuyer@1 20
farmbuyer@1 21 - Being able to drag rows up and down the main loot grid would be awesome. Coding
farmbuyer@1 22 that would be likely to drive me batshiat insane.
farmbuyer@116 23
farmbuyer@116 24 - Something to NOT do: sort cross-realm recipients into history realms based
farmbuyer@116 25 on the realm of the recipient instead of the realm of the player. While this
farmbuyer@116 26 would be useful for building up a history across realms... why would you want
farmbuyer@116 27 to do that? Massive data piling up that wouldn't be noticed unless the user
farmbuyer@116 28 makes a habit of clicking the realm dropdown menu and looking around history.
farmbuyer@1 29 ]]
farmbuyer@1 30
farmbuyer@96 31 local helptree = {
farmbuyer@1 32 {
farmbuyer@1 33 value = "about",
farmbuyer@1 34 text = "About",
farmbuyer@1 35 },
farmbuyer@1 36 {
farmbuyer@1 37 value = "basic",
farmbuyer@1 38 text = "Basics",
farmbuyer@1 39 children = {
farmbuyer@1 40 {
farmbuyer@1 41 value = "loot",
farmbuyer@1 42 text = "Loot Entries",
farmbuyer@1 43 },
farmbuyer@1 44 {
farmbuyer@1 45 value = "boss",
farmbuyer@1 46 text = "Boss Entries",
farmbuyer@1 47 },
farmbuyer@1 48 },
farmbuyer@1 49 },
farmbuyer@1 50 {
farmbuyer@1 51 value = "tracking",
farmbuyer@1 52 text = "Tracking Loot",
farmbuyer@1 53 children = {
farmbuyer@1 54 {
farmbuyer@1 55 value = "enabled",
farmbuyer@1 56 text = "Full Tracking",
farmbuyer@1 57 },
farmbuyer@1 58 {
farmbuyer@1 59 value = "bcast",
farmbuyer@1 60 text = "Rebroadcasting",
farmbuyer@1 61 },
farmbuyer@1 62 },
farmbuyer@1 63 },
farmbuyer@1 64 {
farmbuyer@1 65 value = "texts",
farmbuyer@1 66 text = "Generated Texts",
farmbuyer@1 67 children = {
farmbuyer@1 68 {
farmbuyer@1 69 value = "forum",
farmbuyer@1 70 text = "Forum Markup",
farmbuyer@1 71 },
farmbuyer@1 72 {
farmbuyer@1 73 value = "other",
farmbuyer@1 74 text = "Other Texts",
farmbuyer@1 75 },
farmbuyer@1 76 {
farmbuyer@1 77 value = "saved",
farmbuyer@1 78 text = "Saved Texts",
farmbuyer@1 79 },
farmbuyer@1 80 },
farmbuyer@1 81 },
farmbuyer@1 82 {
farmbuyer@7 83 value = "history",
farmbuyer@7 84 text = "History Tab",
farmbuyer@7 85 },
farmbuyer@7 86 {
farmbuyer@1 87 value = "tips",
farmbuyer@1 88 text = "Handy Tips",
farmbuyer@1 89 children = {
farmbuyer@1 90 {
farmbuyer@1 91 value = "slashies",
farmbuyer@1 92 text = "Slash Commands",
farmbuyer@1 93 },
farmbuyer@73 94 {
farmbuyer@73 95 value = "prescan",
farmbuyer@73 96 text = "Prescanning",
farmbuyer@73 97 },
farmbuyer@1 98 },
farmbuyer@1 99 },
farmbuyer@1 100 {
farmbuyer@1 101 value = "todo",
farmbuyer@1 102 text = "TODOs, Bugs, etc",
farmbuyer@1 103 children = {
farmbuyer@1 104 {
farmbuyer@1 105 value = "gotchas",
farmbuyer@1 106 text = "Gotchas",
farmbuyer@1 107 },
farmbuyer@1 108 {
farmbuyer@1 109 value = "todolist",
farmbuyer@1 110 text = "TODO/knownbugs",
farmbuyer@1 111 },
farmbuyer@1 112 },
farmbuyer@1 113 },
farmbuyer@1 114 }
farmbuyer@1 115
farmbuyer@1 116 -- Help text. Formatting doesn't matter, but use a blank line to split
farmbuyer@1 117 -- paragraphs. This file needs to be edited with a text editor that doesn't
farmbuyer@1 118 -- do anything stupid by placing extra spaces at the end of lines.
farmbuyer@96 119 local helptext
farmbuyer@1 120 do
farmbuyer@73 121 local replacement_colors = {
farmbuyer@73 122 ["+"]="|cff30adff", -- blue: right-click options, control panel names
farmbuyer@73 123 ["<"]="|cff00ff00", -- light green, tab titles and generic highlighting
farmbuyer@73 124 [">"]="|r" }
farmbuyer@1 125 local T={}
farmbuyer@1 126 T.about = [[
farmbuyer@1 127 Ouro Loot is the fault of Farmbuyer of Ouroboros on US-Kilrogg. Bug reports,
farmbuyer@95 128 comments, and suggestions are welcome at the project page:
farmbuyer@95 129
farmbuyer@95 130 <www.curse.com/addons/wow/ouroloot>
farmbuyer@95 131
farmbuyer@95 132
farmbuyer@103 133 or send them to <farmbuyer@gmail.com> in non-HTML format.
farmbuyer@117 134
farmbuyer@142 135 If you have downloaded this addon from anywhere other than Curse or
farmbuyer@142 136 WoWInterface, then it is probably outdated at best or stuffed full
farmbuyer@142 137 of |cffff335dmalware and viruses|r at worst. Get your addons from reputable
farmbuyer@142 138 safe sites!
farmbuyer@1 139 ]]
farmbuyer@1 140
farmbuyer@1 141 T.basic = [[
farmbuyer@95 142 The </ouroloot> command opens this display. The buttons
farmbuyer@142 143 on the right side control operation and are mostly self-explanatory. Hovering
farmbuyer@142 144 over things will usually display some additional text in the gray line at the
farmbuyer@142 145 bottom.
farmbuyer@1 146
farmbuyer@142 147 Each tab on the left side can additionally create extra contols in the lower
farmbuyer@142 148 right section (with the same name as the tab).
farmbuyer@1 149
farmbuyer@1 150 The first tab on the left side, <Loot>, is where everything goes to and comes
farmbuyer@142 151 from. Looting events and Deadly Boss Mods notifications go to the <Loot> tab;
farmbuyer@142 152 the other tabs are all generated from the information in the <Loot> tab.
farmbuyer@16 153
farmbuyer@142 154 |cffff335dNote about these Help pages:|r The category "titles" on the left
farmbuyer@142 155 side have their own help text, in addition to the more specific entries in the
farmbuyer@142 156 expanded list. Read those first before expanding the categories or you'll
farmbuyer@142 157 miss stuff.
farmbuyer@1 158 ]]
farmbuyer@1 159
farmbuyer@1 160 T.basic_loot = [[
farmbuyer@142 161 A "loot row" in the first tab has three columns: the item, the recipient, and
farmbuyer@142 162 any extra notes.
farmbuyer@1 163
farmbuyer@1 164 <Mouse Hover>
farmbuyer@1 165
farmbuyer@103 166 Hovering the mouse over the first column will display the item tooltip.
farmbuyer@1 167
farmbuyer@1 168 Hovering over the second column will display a tooltip with the loot that person
farmbuyer@1 169 has received. If they've won more than 10 items, the list is cut off with '...'
farmbuyer@142 170 at the end; to see the full list, use the right-click +Show only this player>
farmbuyer@142 171 option instead.
farmbuyer@1 172
farmbuyer@1 173 <Right-Click>
farmbuyer@1 174
farmbuyer@1 175 Right-clicking a loot row shows a dropdown menu.
farmbuyer@1 176
farmbuyer@1 177 Right-clicking in the first or third columns will display options for special
farmbuyer@103 178 treatment of that loot entry (e.g., marking as offspec). Using any of those
farmbuyer@103 179 options will change the text in the third column, which will then affect the
farmbuyer@103 180 text in the generated tabs, such as forum markup.
farmbuyer@1 181
farmbuyer@1 182 Right-clicking in the second column allows you to temporarily remove all other
farmbuyer@142 183 players from the loot display. Use the reset button in the lower-right corner
farmbuyer@142 184 to restore the display to normal. The menu also allows you to +reassign> loot
farmbuyer@142 185 from one player to another; if the new recipient is not in the raid group at
farmbuyer@142 186 the time, use the +Enter name...> option at the bottom of the list of names to
farmbuyer@142 187 type the name into a text box. If your raid takes advantage of the ability to
farmbuyer@142 188 trade soulbound items, you will need to reassign the item here for the
farmbuyer@142 189 generated text to be factually correct.
farmbuyer@1 190
farmbuyer@142 191 See the help screen on "Boss Entries" for the +Insert new boss kill event>
farmbuyer@142 192 option.
farmbuyer@1 193
farmbuyer@1 194 <Double-Click>
farmbuyer@1 195
farmbuyer@1 196 Double-clicking a loot row in the third ("Notes") column allows you to edit that
farmbuyer@1 197 field directly. The color of the text will still depend on any +Mark as ___>
farmbuyer@1 198 actions done to that loot row, whether automatically or by hand.
farmbuyer@1 199 ]]
farmbuyer@1 200
farmbuyer@1 201 T.basic_boss = [[
farmbuyer@142 202 Boss wipe/kill entries are entirely dependant on Deadly Boss Mods being enabled
farmbuyer@142 203 and up-to-date. The typical sequence of events for our usual raids goes like
farmbuyer@142 204 this:
farmbuyer@1 205
farmbuyer@142 206 We make four or five attempts on Baron Steamroller. As DBM registers that
farmbuyer@142 207 combat ends, a <wipe> event is entered on the loot display along with the
farmbuyer@142 208 duration of the fight. If the loot display is opened, the wipes will be
farmbuyer@142 209 visible with a light gray background.
farmbuyer@1 210
farmbuyer@47 211 After reminding the melee dps to move out of fire, we manage to kill
farmbuyer@142 212 Steamroller. When DBM registers the win, a <kill> event is entered on the
farmbuyer@142 213 display with a dark gray background. All previous <wipe>s are removed and
farmbuyer@142 214 collapsed into the <kill> event. The final <kill> event shows the duration
farmbuyer@142 215 of the successful fight and the number of attempts needed (or "one-shot" if
farmbuyer@142 216 we're competent).
farmbuyer@1 217
farmbuyer@142 218 Sometimes this goes wrong, when DBM misses its own triggers. If DBM does not
farmbuyer@142 219 catch the start of the boss fight, it can't register the end, so nothing at
farmbuyer@142 220 all is recorded. If the fight was a win but DBM does not catch the victory
farmbuyer@142 221 conditions, then DBM will (after several seconds) decide that it was a wipe
farmbuyer@142 222 instead. And sometimes useful loot will drop from trash mobs, which DBM knows
farmbuyer@142 223 nothing about.
farmbuyer@1 224
farmbuyer@1 225 For all those reasons, right-clicking on a "boss row" will display options for
farmbuyer@1 226 +Insert new boss kill event>, and for toggling a <wipe> into a <kill>. We often
farmbuyer@1 227 insert bosses named "trash" to break up the display and correct the forum markup
farmbuyer@1 228 listing.
farmbuyer@1 229 ]]
farmbuyer@1 230
farmbuyer@1 231 T.tracking = [[
farmbuyer@1 232 The first button underneath +Main> in the right-hand column displays the current
farmbuyer@1 233 status of the addon. If it is disabled, then no recording, rebroadcasting, or
farmbuyer@142 234 listening for rebroadcasts is performed. Any loot already recorded will be
farmbuyer@142 235 restored across login sessions no matter the status.
farmbuyer@1 236
farmbuyer@1 237 You can turn on tracking/broadcasting before joining a raid. If you join a raid
farmbuyer@47 238 and the addon has not been turned on, then a popup dialog will ask for
farmbuyer@1 239 instructions. (This can be turned off in the advanced <Options>.)
farmbuyer@1 240
farmbuyer@142 241 The addon tries to be smart about logging on during a raid (due to a disconnect
farmbuyer@142 242 or relog). If you log in, are already in a raid group, and loot has already
farmbuyer@142 243 been stored from tracking, it will re-enable itself automatically.
farmbuyer@1 244
farmbuyer@142 245 The intent of the addon design is that, after the end of a raid, all the
farmbuyer@142 246 generated markup text is done, optionally saved (see "Generated Texts - Saved Texts"),
farmbuyer@142 247 and then cleared from storage altogether. As a result, if you login with
farmbuyer@142 248 restored loot information but are not in a raid, the addon will do nothing on
farmbuyer@142 249 its own -- but will assume that you've forgotten to finish those steps and will
farmbuyer@142 250 yammer about it in the chat window as a reminder.
farmbuyer@1 251
farmbuyer@142 252 The +Threshold> drop-down has no connection at all with any current loot
farmbuyer@142 253 threshold set by you or a master looter.
farmbuyer@1 254 ]]
farmbuyer@1 255
farmbuyer@1 256 T.tracking_enabled = [[
farmbuyer@1 257 Full tracking records all loot events that fulfill these criteria:
farmbuyer@1 258
farmbuyer@1 259 1) The loot quality is equal to or better than what you have selected in the
farmbuyer@1 260 +Threshold> drop-down.
farmbuyer@1 261
farmbuyer@47 262 2) The loot is not in the list of items to filter out (see the <Options> tab).
farmbuyer@47 263 These are things like shards from disenchanting and Darkmoon Faire quest items.
farmbuyer@1 264
farmbuyer@1 265 3) <You can see the loot event.> More precisely, you need to be close enough
farmbuyer@142 266 to the recipient of the loot to be able to see "So-And-So receives loot:
farmbuyer@142 267 [Stuff]" in your chat window, even if you have those actual loot messages
farmbuyer@142 268 turned off.
farmbuyer@1 269
farmbuyer@1 270 It is (3) that causes complications. A master looter can assign loot to anybody
farmbuyer@1 271 anywhere in a raid instance, but the range on detecting loot events is much
farmbuyer@1 272 smaller. If your raid does not use master looting then you merely need to be
farmbuyer@1 273 close enough to the boss corpse, presuming that the winners will need to walk
farmbuyer@1 274 over to get their phat epix.
farmbuyer@1 275
farmbuyer@1 276 If you do use master looter, then you have two options: first, you can
farmbuyer@142 277 require players who might get loot to stay near the boss. You would then also
farmbuyer@142 278 need to stay near the boss to detect the loot event. (This can be less hassle
farmbuyer@142 279 if you are also the loot master.) The downside is that other players moving
farmbuyer@142 280 on to fight to the next boss are doing so without the help of their teammates.
farmbuyer@1 281
farmbuyer@1 282 The other option is to ask other players to also install Ouro Loot, and for
farmbuyer@1 283 them to turn on the "Rebroadcasting" feature. Any loot events which they can
farmbuyer@1 284 see will be communicated to you. Then it only becomes necessary for at least
farmbuyer@1 285 one person to be close enough to the loot recipient to see the item awarded,
farmbuyer@47 286 and you will record it no matter how far away you are -- even back in Orgrimmar.
farmbuyer@1 287
farmbuyer@142 288 If you have Full Tracking enabled, then you are also automatically
farmbuyer@142 289 rebroadcasting. Having more than one player with Full Tracking turned on is
farmbuyer@142 290 probably a good idea, in case one of the trackers experiences a game crash or
farmbuyer@142 291 is suddenly kidnapped by robot ninja monkeys.
farmbuyer@1 292 ]]
farmbuyer@1 293
farmbuyer@1 294 T.tracking_bcast = [[
farmbuyer@142 295 The simplest method of operation is only rebroadcasting the loot events that
farmbuyer@142 296 you see, as you see them. Nothing is recorded in your local copy of the addon.
farmbuyer@1 297
farmbuyer@142 298 If you logout for any reason, the addon will not reactivate when you log back
farmbuyer@142 299 in.
farmbuyer@1 300
farmbuyer@95 301 You can use </ouroloot bcast> or </ouroloot broadcast> to turn on rebroadcasting
farmbuyer@95 302 without opening the GUI.
farmbuyer@1 303 ]]
farmbuyer@1 304
farmbuyer@1 305 T.texts = [[
farmbuyer@47 306 The middle tabs are simply large editable text boxes. Their text is initially
farmbuyer@142 307 generated from the information stored on the main <Loot> tab, at the time you
farmbuyer@142 308 click on the tab. Not every bit of information that we want in the generated
farmbuyer@142 309 text is always available, or depends on things that the game itself can't know.
farmbuyer@142 310 So you can edit the text in the tabs and your edits will be preserved.
farmbuyer@1 311
farmbuyer@1 312 Each time you click one of the text tabs, every new entry on the <Loot> tab
farmbuyer@1 313 since the last time this tab was shown will be turned into text.
farmbuyer@1 314
farmbuyer@142 315 Clicking the +Regenerate> button will throw away all the text on that tab,
farmbuyer@142 316 including any edits you've made, and recreate all of it from scratch. If
farmbuyer@142 317 you've accidentally deleted the text from the editbox, or you've made manual
farmbuyer@142 318 changes to the <Loot> tab, you can use this button to start over.
farmbuyer@1 319
farmbuyer@1 320 You can click in an editbox and use Control-A to select all text, then Control-C
farmbuyer@1 321 to copy it to the system clipboard for subsequent pasting into a web browser or
farmbuyer@1 322 whatever. If you're on a Mac, you probably already know the equivalent keys.
farmbuyer@1 323 ]]
farmbuyer@1 324
farmbuyer@1 325 T.texts_forum = [[
farmbuyer@1 326 The <Forum Markup> tab creates text as used by the guild forums for Ouroboros
farmbuyer@31 327 of US-Kilrogg. By default this is fairly standard BBcode. The format of the
farmbuyer@1 328 individual loot items can be adjusted via the dropdown menu on the lower right
farmbuyer@1 329 of the tab.
farmbuyer@1 330
farmbuyer@1 331 The [url] choice defaults to using Wowhead. If you have the [item] extension
farmbuyer@1 332 for your BBcode installed, you can use either of those choices too. The "by ID"
farmbuyer@16 333 variant is good for heroic raid items that share names with nonheroic items,
farmbuyer@16 334 but the raw output is harder to read in the text tab.
farmbuyer@1 335
farmbuyer@142 336 You can also specify a custom string. Formatting is done with these
farmbuyer@142 337 replacements:
farmbuyer@1 338
farmbuyer@1 339 +$N>: item name|r
farmbuyer@1 340
farmbuyer@1 341 +$I>: (capital "eye", not "ell") numeric item ID|r
farmbuyer@1 342
farmbuyer@1 343 +$T>: loot recipient and any additional notes|r
farmbuyer@1 344
farmbuyer@1 345 +$X>: if more than one of the item was looted, this is the "x2", "x3", etc
farmbuyer@1 346
farmbuyer@1 347
farmbuyer@1 348 Pro tip #1: if something has happened on the main <Loot> tab which cannot be
farmbuyer@1 349 changed directly but would generate incorrect text, you can click this tab to
farmbuyer@1 350 generate the text right away. Then edit/move the text as needed. When you
farmbuyer@1 351 close the display or click back on the <Loot> tab, your edited text will be
farmbuyer@1 352 preserved for later.
farmbuyer@1 353
farmbuyer@47 354 Pro tip #2: Barring situations like pro tip #1, this addon author typically
farmbuyer@47 355 does not generate any text until the end of the raid, simplifying things
farmbuyer@47 356 considerably.
farmbuyer@1 357 ]]
farmbuyer@1 358
farmbuyer@1 359 T.texts_other = [[
farmbuyer@142 360 So far the only other generated text is the <Attendance> tab, an alphabetized
farmbuyer@142 361 list on a per-boss basis. Players who are probably inside the raid are grouped
farmbuyer@142 362 under [:PLUS:], and the remaining players are under [-]. "Probably inside" is
farmbuyer@142 363 an assumption that groups 1 and 2 are raiding in a 10-player instance,
farmbuyer@142 364 groups 1-5 are raiding in a 25-player instance, and so forth.
farmbuyer@1 365
farmbuyer@1 366 Other addons can register their own text tabs and corresponding generation
farmbuyer@1 367 functions. If you want to be able to feed text into an offline program (for
farmbuyer@1 368 example, a spreadsheet or DKP tracker), then this may be of use to you.
farmbuyer@1 369
farmbuyer@1 370 Ideas for more tabs? Tell me!
farmbuyer@1 371 ]]
farmbuyer@1 372
farmbuyer@1 373 T.texts_saved = [[
farmbuyer@142 374 The contents of the <Forum Markup>, <Attendance>, and other such tabs can be
farmbuyer@142 375 saved, so that they will not be lost when you use the +Clear> button.
farmbuyer@1 376
farmbuyer@1 377 Do any edits you want to the generated text tabs, then click the +Save Current As...>
farmbuyer@142 378 button on the right-hand side. Enter a short descriptive reminder (for
farmbuyer@142 379 example, "thursday hardmodes") in the popup dialog. The texts will remain in
farmbuyer@142 380 their tabs, but clearing loot information will not lose them now.
farmbuyer@1 381
farmbuyer@16 382 All saved texts are listed on the right-hand side. Clicking a saved text name
farmbuyer@142 383 lets you +Load> or +Delete> that saved set. The primary <Loot> tab is not
farmbuyer@142 384 saved and restored by this process, only the generated texts. This also means
farmbuyer@142 385 you cannot +Regenerate> the texts.
farmbuyer@1 386 ]]
farmbuyer@1 387
farmbuyer@7 388 T.history = [[
farmbuyer@7 389 The <History> tab maintains a list of all loot. It is intended to help answer
farmbuyer@142 390 questions such as "When was the last time PlayerX won something?" and "How
farmbuyer@142 391 much stuff has PlayerY gotten lately?" The history tab is, by design, not as
farmbuyer@142 392 configurable as the main <Loot> tab; entries cannot be manually edited and so
farmbuyer@142 393 forth.
farmbuyer@7 394
farmbuyer@142 395 This loot history is the only "live" data tab which persists across the
farmbuyer@142 396 +Clear Loot> command. For this reason, very little information is stored:
farmbuyer@142 397 only the recipient, the item, and a textual timestamp. Boss names, offspecs,
farmbuyer@142 398 and other notes are not preserved.
farmbuyer@7 399
farmbuyer@142 400 The default history window shows the most recent item received by each person.
farmbuyer@142 401 It is sorted with the most recent loot at the top, towards older loot at the
farmbuyer@142 402 bottom. You can click the column headers to rearrange the rows, but doing so
farmbuyer@142 403 repeatedly can lead to odd display issues.
farmbuyer@7 404
farmbuyer@142 405 Left-clicking a row will change the window to display all recorded loot for
farmbuyer@142 406 that player. While on that display, right-clicking any row will return to
farmbuyer@142 407 showing the most recent single item for all players.
farmbuyer@7 408
farmbuyer@142 409 Histories are maintained per-realm. This refers to the realm you are on when
farmbuyer@142 410 the loot drops, not the realm of the player receiving it (in the case of
farmbuyer@142 411 cross-realm groups). If you play multiple characters on the same realm,
farmbuyer@142 412 history will accumulate across all your raids. To change the displayed realm,
farmbuyer@142 413 use the dropdown menu in the lower right corner.
farmbuyer@7 414
farmbuyer@142 415 The +Regenerate> button permanently erases the history of the displayed realm,
farmbuyer@142 416 and creates fresh entries using whatever loot information is currently on the
farmbuyer@142 417 <Loot> tab. Be aware that the <Loot> tab does not track realms, so if you have
farmbuyer@142 418 gathered data for players on realm A, but are displaying realm B when you click
farmbuyer@142 419 the Regenerate button, then your history for realm B will be... very odd.
farmbuyer@7 420
farmbuyer@7 421 +Clear Realm History> and +Clear ALL History> are used to periodically wipe the
farmbuyer@7 422 slate clean. They do not generate any new entries from existing loot.
farmbuyer@7 423
farmbuyer@76 424 +Clear Older> deletes history information older than a certain threshold (by
farmbuyer@76 425 default, 5 loot events). It is another good periodic maintenance step, but
farmbuyer@76 426 does not discard as much data as the other actions.
farmbuyer@7 427
farmbuyer@103 428 From the right-click menu on the main tab, using +Reassign to...> will also
farmbuyer@103 429 move the item between player histories. The timestamp will not be changed;
farmbuyer@103 430 it will "always have been" received by the new recipient. Using
farmbuyer@103 431 +Mark as disenchanted> or +Mark as guild vault> will remove the item from
farmbuyer@103 432 history altogether. Remarking such an item as +normal> or +offspec> will
farmbuyer@103 433 replace the item back into the player's history.
farmbuyer@25 434
farmbuyer@7 435 Note: the first time you display the histories during a game session, you will
farmbuyer@142 436 likely see several items listed as +UNKNOWN>. This is not a bug; these items
farmbuyer@142 437 are simply not in your local game cache. WoW will automatically retrieve the
farmbuyer@142 438 missing data after several seconds, but the display will not update until the
farmbuyer@142 439 next time the History tab is shown. Starting in WoW 4.0, the local game cache
farmbuyer@142 440 is not preserved across play sessions, so the +UNKNOWN> entries will pop up
farmbuyer@142 441 from time to time.
farmbuyer@7 442 ]]
farmbuyer@7 443
farmbuyer@1 444 T.tips = [[
farmbuyer@16 445 The |cffff8000[Ouro Loot]|r "legendary item" displayed at the start of all
farmbuyer@103 446 chat messages is a clickable link. Clicking opens the main display, and if
farmbuyer@103 447 possible will jump to and/or highlight the relevent data which caused the
farmbuyer@103 448 associated chat message to be printed in the first place.
farmbuyer@103 449 The "Be chatty" options on the <Options> tab will cause a chat message to be
farmbuyer@103 450 printed after various events, thus providing a way to quickly view them.
farmbuyer@1 451
farmbuyer@142 452 If you are broadcasting to somebody else who is tracking, you should probably
farmbuyer@142 453 be using the same threshold. If yours is lower, then some of the loot you
farmbuyer@142 454 broadcast to him will be ignored. If yours is higher, then you will not be
farmbuyer@142 455 sending information that he would have recorded. The "correct" setting depends
farmbuyer@142 456 on what your guild wants to track.
farmbuyer@1 457
farmbuyer@142 458 Ticking the "notraid" box in advanced debugging <Options>, before enabling
farmbuyer@142 459 tracking, will make the tracking work outside of a raid group. Communication
farmbuyer@142 460 functions will behave a little strangely when doing this. Be sure to check
farmbuyer@142 461 the threshold! You can also use <"/ouroloot debug notraid"> instead.
farmbuyer@1 462
farmbuyer@142 463 Using the "Saved Texts" feature plus the +Clear> button is a great way of
farmbuyer@142 464 putting off pasting loot into your guild's website until a more convenient time.
farmbuyer@83 465
farmbuyer@83 466 Shift-clicking an item in the <Loot> or <History> display will paste it into an
farmbuyer@83 467 open chat editbox.
farmbuyer@1 468 ]]
farmbuyer@1 469
farmbuyer@1 470 T.tips_slashies = [[
farmbuyer@97 471 A text field in the <Options> tab lets you use additional slash commands as a
farmbuyer@95 472 shortcut for </ouroloot>. The author prefers </ol>, as an example. The
farmbuyer@95 473 default used to be </loot> until that became a builtin command in MoP.
farmbuyer@95 474
farmbuyer@142 475 If you give an unrecognized argument to a slash command, it will search the
farmbuyer@142 476 tab titles left to right for a title beginning with the same letters as
farmbuyer@95 477 the argument, and open the display to that tab. For example, <"/ol a"> would
farmbuyer@103 478 open the <Attendance> tab, and <"/ol o"> would open the <Options> tab. If
farmbuyer@95 479 you had added a theoretical <EQDKP> tab, then <"/ol eq"> would be the fastest
farmbuyer@103 480 way to see it. Only enough text to be unambiguous is required, and all of it
farmbuyer@103 481 is case-insensitive.
farmbuyer@103 482
farmbuyer@103 483 Some tabs will accept additional text after the tab title, and try to Do The
farmbuyer@103 484 Right Thing. For example, <"/ol history blah"> will search for a player named
farmbuyer@103 485 "blah", and if found, will act as if you had clicked on that row, switching
farmbuyer@103 486 the display to every loot received by that player. The same unambiguous prefix
farmbuyer@103 487 searching is used for names as for tab titles, so <"/ol hi farm"> is enough to
farmbuyer@103 488 trigger Farmbuyer's history display (as long as nobody named Farmville joins
farmbuyer@103 489 the raid), and so forth.
farmbuyer@16 490
farmbuyer@1 491 The </ouroloot> command can take arguments to do things without going through
farmbuyer@142 492 the UI. Parts given in *(angle brackets)* are required, parts
farmbuyer@142 493 in [square brackets] are optional:
farmbuyer@1 494
farmbuyer@103 495 +help>: opens the UI to the help tab|r
farmbuyer@103 496
farmbuyer@1 497 +broadcast>/+bcast>: turns on rebroadcasting|r
farmbuyer@1 498
farmbuyer@1 499 +on [T]>: turns on full tracking, optionally setting threshold to T|r
farmbuyer@1 500
farmbuyer@150 501 +on5 [T]>: same, but also toggles "notraid" (see Tips for this)|r
farmbuyer@150 502
farmbuyer@1 503 +off>: turns off everything|r
farmbuyer@1 504
farmbuyer@1 505 +thre[shold] T>: sets tracking threshold to T|r
farmbuyer@1 506
farmbuyer@103 507 +ping>: same as clicking "Ping!" on the Options tab|r
farmbuyer@103 508
farmbuyer@1 509 +list>: prints saved text names and numbers|r
farmbuyer@1 510
farmbuyer@1 511 +save *(your set name)*>: saves texts as "your set name"|r
farmbuyer@1 512
farmbuyer@1 513 +restore *(N)*>: restores set number N|r
farmbuyer@1 514
farmbuyer@1 515 +delete *(N)*>: deletes set number N|r
farmbuyer@1 516
farmbuyer@103 517 +toggle>: opens or closes the UI (used mostly in automated wrappers)|r
farmbuyer@1 518
farmbuyer@103 519 +fix ?>: lists the available automated data integrity fixes|r
farmbuyer@1 520
farmbuyer@1 521
farmbuyer@142 522 If you use the slash commands to enable tracking or set loot thresholds, you
farmbuyer@142 523 can give numbers or common names for the threshold. For example, "0", "poor",
farmbuyer@142 524 "trash", "gray"/"grey" are all the same, "4", "epic", "purple" are the same,
farmbuyer@142 525 and so on.
farmbuyer@1 526 ]]
farmbuyer@1 527
farmbuyer@73 528 T.tips_prescan = [[
farmbuyer@73 529 When loot is manipulated, the history of previous loot entries must be scanned
farmbuyer@73 530 to determine whether you already have any information for that loot. In this
farmbuyer@73 531 case, "loot manipulation" includes things like receiving loot broadcasts from
farmbuyer@73 532 other players, marking older loot as being disenchanted, and so on.
farmbuyer@73 533
farmbuyer@73 534 You can speed up these actions by turning on the +Prescan for faster handling>
farmbuyer@73 535 toggle on the <Options> tab. This is a tradeoff: loot manipulation will
farmbuyer@73 536 go faster, but data from the prescan will use up more memory. (If you end up
farmbuyer@73 537 doing things to every single piece of loot, you would use up all that memory
farmbuyer@73 538 eventually. But if you don't, then that memory is essentially wasted.)
farmbuyer@73 539
farmbuyer@73 540 This prescanning is only done for the specific realm on which you're playing.
farmbuyer@73 541 Much depends on how far back you preserve history. The more history you keep
farmbuyer@73 542 for a given realm, then...
farmbuyer@73 543
farmbuyer@73 544 [option on] ...the more memory this option uses...
farmbuyer@73 545
farmbuyer@73 546 [option off] ...the longer loot work takes...
farmbuyer@73 547
farmbuyer@73 548 ...while manipulating loot for that realm. See the tradeoff?
farmbuyer@73 549
farmbuyer@73 550 The prescan is only done once, during login. It will print out how much
farmbuyer@73 551 additional memory is used, so you can better decide whether this option is
farmbuyer@73 552 worth turning on. This also means that you need to relog or /reload to have
farmbuyer@73 553 the option take effect once you enable it.
farmbuyer@73 554 ]]
farmbuyer@73 555
farmbuyer@1 556 T.todo = [[
farmbuyer@142 557 If you have ideas or complaints or bug reports, first check the Bugs
farmbuyer@142 558 subcategories to see if they're already being worked on. Bug reports are
farmbuyer@142 559 especially helpful if you can include a screenshot (in whatever image format
farmbuyer@142 560 you find convenient), and a copy of your SavedVariables file. This is found
farmbuyer@142 561 in your World of Warcraft installation folder, named
farmbuyer@142 562 "WTF/Account/you/SavedVariables/Ouro_Loot.lua" (where "you" is your account
farmbuyer@142 563 name). You may need to compress this file before the ticket system will
farmbuyer@142 564 accept it.
farmbuyer@1 565
farmbuyer@1 566 Click the "About" line on the left for contact information.
farmbuyer@1 567 ]]
farmbuyer@1 568
farmbuyer@1 569 T.todo_gotchas = [[
farmbuyer@1 570 <Things Which Might Surprise You> (and things I'm not sure I like in the
farmbuyer@1 571 current design):
farmbuyer@1 572
farmbuyer@73 573 Manipulating existing information while logged into a realm other than the
farmbuyer@73 574 realm represented by that same information can yield strange results, including
farmbuyer@73 575 outright breakage.
farmbuyer@73 576
farmbuyer@1 577 If you relog (or get disconnected) while in a raid group, behavior when you log
farmbuyer@1 578 back in can be surprising. If you have already recorded loot (and therefore
farmbuyer@142 579 the loot list is restored), then OL assumes it's from the current raid and
farmbuyer@142 580 should reactivate automatically in full tracking mode. If you were tracking
farmbuyer@142 581 but no loot had dropped yet (and therefore there was nothing *to* restore),
farmbuyer@142 582 then OL will pop up its reminder and ask again. Either way, if you were only
farmbuyer@142 583 broadcasting then OL will *not* go back to only broadcasting. This is
farmbuyer@142 584 probably a bug.
farmbuyer@1 585
farmbuyer@1 586 The saved texts feature does exactly that: only saves the generated texts, not
farmbuyer@1 587 the full loot list. Restoring will get you a blank first tab and whatever you
farmbuyer@1 588 previously had in the various generated text tabs.
farmbuyer@1 589
farmbuyer@47 590 The generated forum text tries to only list the name of the instance if it has
farmbuyer@47 591 not already been listed, or if it is different than the instance of the previous
farmbuyer@1 592 boss. If you relog, the "last printed instance name" will be forgotten, and
farmbuyer@1 593 you'll see redundant raid instance names appearing in the text.
farmbuyer@1 594
farmbuyer@1 595 After a boss wipe, multiple broadcasting players releasing spirit more than
farmbuyer@1 596 several seconds apart can cause spurious "wipe" entries (of zero duration) on
farmbuyer@1 597 the loot grid. The surefire way to avoid this is to not release spirit until
farmbuyer@1 598 DBM announces the wipe, but the problem isn't serious enough to really worry
farmbuyer@1 599 about. (Right-click the spurious entries and delete them.)
farmbuyer@69 600
farmbuyer@69 601 When a boss is killed, ALL previous wipes for that boss are removed and
farmbuyer@69 602 collapsed... even if they're on other days with other raids. If you only
farmbuyer@69 603 raid with one guild, this can result in some amusing statistics ("kill
farmbuyer@69 604 on 27th attempt" would actually mean something), but if there are multiple
farmbuyer@69 605 raid configurations without clearing loot in between, then this number
farmbuyer@69 606 is simply garbage.
farmbuyer@1 607 ]]
farmbuyer@1 608
farmbuyer@1 609 T.todo_todolist = todo
farmbuyer@1 610
farmbuyer@1 611
farmbuyer@1 612 -- Fill out the table that will actually be used. Join adjacent lines here so
farmbuyer@1 613 -- that they'll wrap properly.
farmbuyer@96 614 helptext = {}
farmbuyer@1 615 for k,text in pairs(T) do
farmbuyer@1 616 local funkykey = k:gsub('_','\001') -- this is how TreeGroup makes unique keys
farmbuyer@1 617 local wrapped = text
farmbuyer@1 618 wrapped = wrapped:gsub ("[%+<>]", replacement_colors)
farmbuyer@1 619 wrapped = wrapped:gsub ("([^\n])\n([^\n])", "%1 %2")
farmbuyer@83 620 --safeprint(wrapped)
farmbuyer@1 621 wrapped = wrapped:gsub ("|r\n\n", "|r\n")
farmbuyer@1 622 wrapped = wrapped:gsub ("Ouroboros", "|cffa335ee<Ouroboros>|r")
farmbuyer@83 623 --safeprint(wrapped)
farmbuyer@56 624 wrapped = wrapped:gsub ("%*%(", "<") :gsub("%)%*", ">") :gsub(":PLUS:", "+")
farmbuyer@96 625 helptext[funkykey] = wrapped
farmbuyer@1 626 end
farmbuyer@1 627 end -- do scope
farmbuyer@1 628 todo = nil
farmbuyer@1 629
farmbuyer@1 630
farmbuyer@95 631 -- Tab 5: Help
farmbuyer@95 632 do
farmbuyer@129 633 local mkbutton = addon.gui_state_pointer.mkbutton
farmbuyer@129 634 local gui = addon.gui_state_pointer
farmbuyer@95 635 local AceGUI = LibStub("AceGUI-3.0")
farmbuyer@95 636 -- widget container status tables (will have things magically appear
farmbuyer@95 637 -- inside them that we wish to preserve)
farmbuyer@95 638 local status_for_scroll = {}
farmbuyer@95 639 local status_for_select = { treewidth = 145 }
farmbuyer@1 640
farmbuyer@95 641 -- Clicking an entry on the left tree column.
farmbuyer@95 642 local help_OnGroupSelected_func = function (treeg,event,category)
farmbuyer@96 643 -- Some way of just reusing the same Label widget when clicking
farmbuyer@96 644 -- different topics?
farmbuyer@95 645 treeg:ReleaseChildren()
farmbuyer@95 646 local txt = AceGUI:Create("Label")
farmbuyer@95 647 txt:SetFullWidth(true)
farmbuyer@122 648 txt:SetFontObject(GameFontNormal)
farmbuyer@96 649 txt:SetText(helptext[category])
farmbuyer@95 650 local sf = AceGUI:Create("ScrollFrame")
farmbuyer@95 651 sf:SetStatusTable(status_for_scroll)
farmbuyer@95 652 sf:SetLayout("Fill")
farmbuyer@95 653 -- This forces the scrolling area to be bigger than the visible area; else
farmbuyer@95 654 -- some of the text gets cut off without ever triggering the scrollbar.
farmbuyer@95 655 sf.content:SetHeight(700)
farmbuyer@95 656 sf:AddChild(txt)
farmbuyer@95 657 treeg:AddChild(sf)
farmbuyer@95 658 if treeg:GetUserData("help restore scroll") then
farmbuyer@95 659 if status_for_scroll.scrollvalue then
farmbuyer@95 660 sf:SetScroll(status_for_scroll.scrollvalue)
farmbuyer@95 661 end
farmbuyer@95 662 treeg:SetUserData("help restore scroll", false)
farmbuyer@95 663 else
farmbuyer@95 664 sf:SetScroll(0)
farmbuyer@95 665 end
farmbuyer@95 666 end
farmbuyer@95 667
farmbuyer@95 668 -- Clicking the Help tab as a whole (tabs_OnGroupSelected["help"]).
farmbuyer@95 669 local tabs_OGS = function(container,specials)
farmbuyer@95 670 container:SetLayout("Fill")
farmbuyer@95 671 local left = AceGUI:Create("TreeGroup")
farmbuyer@95 672 left:SetStatusTable(status_for_select)
farmbuyer@95 673 left:SetLayout("Fill")
farmbuyer@95 674 left:SetFullWidth(true)
farmbuyer@95 675 left:SetFullHeight(true)
farmbuyer@95 676 left:EnableButtonTooltips(false)
farmbuyer@96 677 left:SetTree(helptree)
farmbuyer@95 678 left:SetCallback("OnGroupSelected", help_OnGroupSelected_func)
farmbuyer@95 679 container:AddChild(left)
farmbuyer@95 680 if status_for_select.selected then
farmbuyer@95 681 left:SetUserData("help restore scroll", true)
farmbuyer@95 682 left:SelectByValue(status_for_select.selected)
farmbuyer@95 683 else
farmbuyer@95 684 left:SelectByValue("basic")
farmbuyer@95 685 end
farmbuyer@129 686
farmbuyer@129 687 local b = mkbutton("Force Loot Refresh",
farmbuyer@129 688 [[Force the Loot tab display to update from stored data. Shouldn't be needed.]])
farmbuyer@129 689 b:SetFullWidth(true)
farmbuyer@129 690 b:SetCallback("OnClick", function ()
farmbuyer@129 691 addon.loot_clean = nil
farmbuyer@129 692 addon:gui_init()
farmbuyer@129 693 addon:Print[[Loot tab display re-initialized.]]
farmbuyer@129 694 end)
farmbuyer@129 695 specials:AddChild(b)
farmbuyer@95 696 end
farmbuyer@95 697
farmbuyer@103 698 addon:register_tab_control_AT_END ("help", [[Help]],
farmbuyer@103 699 [[Instructions, reminders, and tips for non-obvious features]],
farmbuyer@103 700 tabs_OGS, [[
farmbuyer@95 701 Every tab across the top also gets its own special buttons here in the lower
farmbuyer@95 702 right, under the same name as the tab. Some controls do not become visible
farmbuyer@103 703 until that tab has data to work with.]])
farmbuyer@95 704
farmbuyer@95 705 end
farmbuyer@70 706
farmbuyer@109 707 addon.FILES_LOADED = addon.FILES_LOADED + 1
farmbuyer@1 708 -- vim:noet