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@1
|
501 +off>: turns off everything|r
|
farmbuyer@1
|
502
|
farmbuyer@1
|
503 +thre[shold] T>: sets tracking threshold to T|r
|
farmbuyer@1
|
504
|
farmbuyer@103
|
505 +ping>: same as clicking "Ping!" on the Options tab|r
|
farmbuyer@103
|
506
|
farmbuyer@1
|
507 +list>: prints saved text names and numbers|r
|
farmbuyer@1
|
508
|
farmbuyer@1
|
509 +save *(your set name)*>: saves texts as "your set name"|r
|
farmbuyer@1
|
510
|
farmbuyer@1
|
511 +restore *(N)*>: restores set number N|r
|
farmbuyer@1
|
512
|
farmbuyer@1
|
513 +delete *(N)*>: deletes set number N|r
|
farmbuyer@1
|
514
|
farmbuyer@103
|
515 +toggle>: opens or closes the UI (used mostly in automated wrappers)|r
|
farmbuyer@1
|
516
|
farmbuyer@103
|
517 +fix ?>: lists the available automated data integrity fixes|r
|
farmbuyer@1
|
518
|
farmbuyer@1
|
519
|
farmbuyer@142
|
520 If you use the slash commands to enable tracking or set loot thresholds, you
|
farmbuyer@142
|
521 can give numbers or common names for the threshold. For example, "0", "poor",
|
farmbuyer@142
|
522 "trash", "gray"/"grey" are all the same, "4", "epic", "purple" are the same,
|
farmbuyer@142
|
523 and so on.
|
farmbuyer@1
|
524 ]]
|
farmbuyer@1
|
525
|
farmbuyer@73
|
526 T.tips_prescan = [[
|
farmbuyer@73
|
527 When loot is manipulated, the history of previous loot entries must be scanned
|
farmbuyer@73
|
528 to determine whether you already have any information for that loot. In this
|
farmbuyer@73
|
529 case, "loot manipulation" includes things like receiving loot broadcasts from
|
farmbuyer@73
|
530 other players, marking older loot as being disenchanted, and so on.
|
farmbuyer@73
|
531
|
farmbuyer@73
|
532 You can speed up these actions by turning on the +Prescan for faster handling>
|
farmbuyer@73
|
533 toggle on the <Options> tab. This is a tradeoff: loot manipulation will
|
farmbuyer@73
|
534 go faster, but data from the prescan will use up more memory. (If you end up
|
farmbuyer@73
|
535 doing things to every single piece of loot, you would use up all that memory
|
farmbuyer@73
|
536 eventually. But if you don't, then that memory is essentially wasted.)
|
farmbuyer@73
|
537
|
farmbuyer@73
|
538 This prescanning is only done for the specific realm on which you're playing.
|
farmbuyer@73
|
539 Much depends on how far back you preserve history. The more history you keep
|
farmbuyer@73
|
540 for a given realm, then...
|
farmbuyer@73
|
541
|
farmbuyer@73
|
542 [option on] ...the more memory this option uses...
|
farmbuyer@73
|
543
|
farmbuyer@73
|
544 [option off] ...the longer loot work takes...
|
farmbuyer@73
|
545
|
farmbuyer@73
|
546 ...while manipulating loot for that realm. See the tradeoff?
|
farmbuyer@73
|
547
|
farmbuyer@73
|
548 The prescan is only done once, during login. It will print out how much
|
farmbuyer@73
|
549 additional memory is used, so you can better decide whether this option is
|
farmbuyer@73
|
550 worth turning on. This also means that you need to relog or /reload to have
|
farmbuyer@73
|
551 the option take effect once you enable it.
|
farmbuyer@73
|
552 ]]
|
farmbuyer@73
|
553
|
farmbuyer@1
|
554 T.todo = [[
|
farmbuyer@142
|
555 If you have ideas or complaints or bug reports, first check the Bugs
|
farmbuyer@142
|
556 subcategories to see if they're already being worked on. Bug reports are
|
farmbuyer@142
|
557 especially helpful if you can include a screenshot (in whatever image format
|
farmbuyer@142
|
558 you find convenient), and a copy of your SavedVariables file. This is found
|
farmbuyer@142
|
559 in your World of Warcraft installation folder, named
|
farmbuyer@142
|
560 "WTF/Account/you/SavedVariables/Ouro_Loot.lua" (where "you" is your account
|
farmbuyer@142
|
561 name). You may need to compress this file before the ticket system will
|
farmbuyer@142
|
562 accept it.
|
farmbuyer@1
|
563
|
farmbuyer@1
|
564 Click the "About" line on the left for contact information.
|
farmbuyer@1
|
565 ]]
|
farmbuyer@1
|
566
|
farmbuyer@1
|
567 T.todo_gotchas = [[
|
farmbuyer@1
|
568 <Things Which Might Surprise You> (and things I'm not sure I like in the
|
farmbuyer@1
|
569 current design):
|
farmbuyer@1
|
570
|
farmbuyer@73
|
571 Manipulating existing information while logged into a realm other than the
|
farmbuyer@73
|
572 realm represented by that same information can yield strange results, including
|
farmbuyer@73
|
573 outright breakage.
|
farmbuyer@73
|
574
|
farmbuyer@1
|
575 If you relog (or get disconnected) while in a raid group, behavior when you log
|
farmbuyer@1
|
576 back in can be surprising. If you have already recorded loot (and therefore
|
farmbuyer@142
|
577 the loot list is restored), then OL assumes it's from the current raid and
|
farmbuyer@142
|
578 should reactivate automatically in full tracking mode. If you were tracking
|
farmbuyer@142
|
579 but no loot had dropped yet (and therefore there was nothing *to* restore),
|
farmbuyer@142
|
580 then OL will pop up its reminder and ask again. Either way, if you were only
|
farmbuyer@142
|
581 broadcasting then OL will *not* go back to only broadcasting. This is
|
farmbuyer@142
|
582 probably a bug.
|
farmbuyer@1
|
583
|
farmbuyer@1
|
584 The saved texts feature does exactly that: only saves the generated texts, not
|
farmbuyer@1
|
585 the full loot list. Restoring will get you a blank first tab and whatever you
|
farmbuyer@1
|
586 previously had in the various generated text tabs.
|
farmbuyer@1
|
587
|
farmbuyer@47
|
588 The generated forum text tries to only list the name of the instance if it has
|
farmbuyer@47
|
589 not already been listed, or if it is different than the instance of the previous
|
farmbuyer@1
|
590 boss. If you relog, the "last printed instance name" will be forgotten, and
|
farmbuyer@1
|
591 you'll see redundant raid instance names appearing in the text.
|
farmbuyer@1
|
592
|
farmbuyer@1
|
593 After a boss wipe, multiple broadcasting players releasing spirit more than
|
farmbuyer@1
|
594 several seconds apart can cause spurious "wipe" entries (of zero duration) on
|
farmbuyer@1
|
595 the loot grid. The surefire way to avoid this is to not release spirit until
|
farmbuyer@1
|
596 DBM announces the wipe, but the problem isn't serious enough to really worry
|
farmbuyer@1
|
597 about. (Right-click the spurious entries and delete them.)
|
farmbuyer@69
|
598
|
farmbuyer@69
|
599 When a boss is killed, ALL previous wipes for that boss are removed and
|
farmbuyer@69
|
600 collapsed... even if they're on other days with other raids. If you only
|
farmbuyer@69
|
601 raid with one guild, this can result in some amusing statistics ("kill
|
farmbuyer@69
|
602 on 27th attempt" would actually mean something), but if there are multiple
|
farmbuyer@69
|
603 raid configurations without clearing loot in between, then this number
|
farmbuyer@69
|
604 is simply garbage.
|
farmbuyer@1
|
605 ]]
|
farmbuyer@1
|
606
|
farmbuyer@1
|
607 T.todo_todolist = todo
|
farmbuyer@1
|
608
|
farmbuyer@1
|
609
|
farmbuyer@1
|
610 -- Fill out the table that will actually be used. Join adjacent lines here so
|
farmbuyer@1
|
611 -- that they'll wrap properly.
|
farmbuyer@96
|
612 helptext = {}
|
farmbuyer@1
|
613 for k,text in pairs(T) do
|
farmbuyer@1
|
614 local funkykey = k:gsub('_','\001') -- this is how TreeGroup makes unique keys
|
farmbuyer@1
|
615 local wrapped = text
|
farmbuyer@1
|
616 wrapped = wrapped:gsub ("[%+<>]", replacement_colors)
|
farmbuyer@1
|
617 wrapped = wrapped:gsub ("([^\n])\n([^\n])", "%1 %2")
|
farmbuyer@83
|
618 --safeprint(wrapped)
|
farmbuyer@1
|
619 wrapped = wrapped:gsub ("|r\n\n", "|r\n")
|
farmbuyer@1
|
620 wrapped = wrapped:gsub ("Ouroboros", "|cffa335ee<Ouroboros>|r")
|
farmbuyer@83
|
621 --safeprint(wrapped)
|
farmbuyer@56
|
622 wrapped = wrapped:gsub ("%*%(", "<") :gsub("%)%*", ">") :gsub(":PLUS:", "+")
|
farmbuyer@96
|
623 helptext[funkykey] = wrapped
|
farmbuyer@1
|
624 end
|
farmbuyer@1
|
625 end -- do scope
|
farmbuyer@1
|
626 todo = nil
|
farmbuyer@1
|
627
|
farmbuyer@1
|
628
|
farmbuyer@95
|
629 -- Tab 5: Help
|
farmbuyer@95
|
630 do
|
farmbuyer@129
|
631 local mkbutton = addon.gui_state_pointer.mkbutton
|
farmbuyer@129
|
632 local gui = addon.gui_state_pointer
|
farmbuyer@95
|
633 local AceGUI = LibStub("AceGUI-3.0")
|
farmbuyer@95
|
634 -- widget container status tables (will have things magically appear
|
farmbuyer@95
|
635 -- inside them that we wish to preserve)
|
farmbuyer@95
|
636 local status_for_scroll = {}
|
farmbuyer@95
|
637 local status_for_select = { treewidth = 145 }
|
farmbuyer@1
|
638
|
farmbuyer@95
|
639 -- Clicking an entry on the left tree column.
|
farmbuyer@95
|
640 local help_OnGroupSelected_func = function (treeg,event,category)
|
farmbuyer@96
|
641 -- Some way of just reusing the same Label widget when clicking
|
farmbuyer@96
|
642 -- different topics?
|
farmbuyer@95
|
643 treeg:ReleaseChildren()
|
farmbuyer@95
|
644 local txt = AceGUI:Create("Label")
|
farmbuyer@95
|
645 txt:SetFullWidth(true)
|
farmbuyer@122
|
646 txt:SetFontObject(GameFontNormal)
|
farmbuyer@96
|
647 txt:SetText(helptext[category])
|
farmbuyer@95
|
648 local sf = AceGUI:Create("ScrollFrame")
|
farmbuyer@95
|
649 sf:SetStatusTable(status_for_scroll)
|
farmbuyer@95
|
650 sf:SetLayout("Fill")
|
farmbuyer@95
|
651 -- This forces the scrolling area to be bigger than the visible area; else
|
farmbuyer@95
|
652 -- some of the text gets cut off without ever triggering the scrollbar.
|
farmbuyer@95
|
653 sf.content:SetHeight(700)
|
farmbuyer@95
|
654 sf:AddChild(txt)
|
farmbuyer@95
|
655 treeg:AddChild(sf)
|
farmbuyer@95
|
656 if treeg:GetUserData("help restore scroll") then
|
farmbuyer@95
|
657 if status_for_scroll.scrollvalue then
|
farmbuyer@95
|
658 sf:SetScroll(status_for_scroll.scrollvalue)
|
farmbuyer@95
|
659 end
|
farmbuyer@95
|
660 treeg:SetUserData("help restore scroll", false)
|
farmbuyer@95
|
661 else
|
farmbuyer@95
|
662 sf:SetScroll(0)
|
farmbuyer@95
|
663 end
|
farmbuyer@95
|
664 end
|
farmbuyer@95
|
665
|
farmbuyer@95
|
666 -- Clicking the Help tab as a whole (tabs_OnGroupSelected["help"]).
|
farmbuyer@95
|
667 local tabs_OGS = function(container,specials)
|
farmbuyer@95
|
668 container:SetLayout("Fill")
|
farmbuyer@95
|
669 local left = AceGUI:Create("TreeGroup")
|
farmbuyer@95
|
670 left:SetStatusTable(status_for_select)
|
farmbuyer@95
|
671 left:SetLayout("Fill")
|
farmbuyer@95
|
672 left:SetFullWidth(true)
|
farmbuyer@95
|
673 left:SetFullHeight(true)
|
farmbuyer@95
|
674 left:EnableButtonTooltips(false)
|
farmbuyer@96
|
675 left:SetTree(helptree)
|
farmbuyer@95
|
676 left:SetCallback("OnGroupSelected", help_OnGroupSelected_func)
|
farmbuyer@95
|
677 container:AddChild(left)
|
farmbuyer@95
|
678 if status_for_select.selected then
|
farmbuyer@95
|
679 left:SetUserData("help restore scroll", true)
|
farmbuyer@95
|
680 left:SelectByValue(status_for_select.selected)
|
farmbuyer@95
|
681 else
|
farmbuyer@95
|
682 left:SelectByValue("basic")
|
farmbuyer@95
|
683 end
|
farmbuyer@129
|
684
|
farmbuyer@129
|
685 local b = mkbutton("Force Loot Refresh",
|
farmbuyer@129
|
686 [[Force the Loot tab display to update from stored data. Shouldn't be needed.]])
|
farmbuyer@129
|
687 b:SetFullWidth(true)
|
farmbuyer@129
|
688 b:SetCallback("OnClick", function ()
|
farmbuyer@129
|
689 addon.loot_clean = nil
|
farmbuyer@129
|
690 addon:gui_init()
|
farmbuyer@129
|
691 addon:Print[[Loot tab display re-initialized.]]
|
farmbuyer@129
|
692 end)
|
farmbuyer@129
|
693 specials:AddChild(b)
|
farmbuyer@95
|
694 end
|
farmbuyer@95
|
695
|
farmbuyer@103
|
696 addon:register_tab_control_AT_END ("help", [[Help]],
|
farmbuyer@103
|
697 [[Instructions, reminders, and tips for non-obvious features]],
|
farmbuyer@103
|
698 tabs_OGS, [[
|
farmbuyer@95
|
699 Every tab across the top also gets its own special buttons here in the lower
|
farmbuyer@95
|
700 right, under the same name as the tab. Some controls do not become visible
|
farmbuyer@103
|
701 until that tab has data to work with.]])
|
farmbuyer@95
|
702
|
farmbuyer@95
|
703 end
|
farmbuyer@70
|
704
|
farmbuyer@109
|
705 addon.FILES_LOADED = addon.FILES_LOADED + 1
|
farmbuyer@1
|
706 -- vim:noet
|