3 Scarlet Defender cannot be found
7 Cartographer waypoints scale with Cartographer
9 There's some pvp quest in Icecrown that breaks badly, figure that out once you get there? Add a new icon for it also.
12 "I know this, but it told me that [b]both[/b] quests were completed after [b]6[/b] kills."
14 Marauders of Darrowshire
16 * Add some concept of per-user prefs
20 * Fix the flight paths
21 * Routing infinite-loop test (and kill)
28 @ "Too Tough For Me" button
30 @ See if it can be made faster, re-enable sanity checks on at least some level
31 * Re-enable asserts in general, ha ha
33 * Rebuild build system
34 * Re-enabled "zero nodes"
39 * Record drops per-instance so we don't think both Kael'Thas'es are the same
40 * Rig static.lua to break if it doesn't load or has a version mismatch
41 * Lots of things break when flightpoints are updated. Lots of them.
42 * Cartographer 3 incompatibility?
43 * Bug: Full info in Tomtom's waypoint line?
44 * Bug: The assert check is going to break if the flightpoints are updated. Make this not happen. Actually now that I think about it, I bet updating the flight points is causing a lot of those crashes!
45 QuestHelper: The Routing Co-Routine just exploded:
46 Interface\Addons\Questhelper\objective.lua:30: stack overflow
47 * The only annoying thing I've run into so far is the cartographer arrow not showing up until you do /qh cartwp twice which has always been there.
48 * "Hide" does not function properly when entering instances.
49 * Incompatible with Mapster?
52 @ Tunable not-in-group penalties
55 * Better data collection - collect more from more people, prompt them to upload once they have a good chunk of data
57 * Track quest-item drops only when quest is still unfinished
58 * Track monster spots in a more specific fashion
60 * Track quest followups?
61 @ Teleporters functional?
68 * Bug: QH:ComputeTravelTime is not taking the "last leg" from the zone entry point to the destination into account when doing path optimization
69 * Bug: AddObjectiveBest is not adding objectives in the best place in any sense of the word
70 * Bug: Explicit allocation. Seriously. This is a bug. IT IS IDIOTIC. WHY DID YOU DO THIS. WHAT WERE YOU THINKING.
71 * Bug: Aaaargh wacky custom half-classes with no abstraction (eats own face, dies)
73 * Bug: ObjectiveTravelTime2 is obviously inconsistent with ComputeTravelTime2, also what the hell is it doing
74 * Bug: Crash bug on timed quests?
76 * Flavor: include the name of the boat/zeppelin
77 * Remove all those wacky random-enchant items from the drop tables
78 * Switch to GUIDs if we haven't already
79 * Less reset-pathing-information, seriously wtf
80 * Show what you should be doing when you're at a flight point
82 * Better geography and barriers
83 * Pick this up automatically after "better data collection"?
84 * Higher cost for traveling through high-level areas?
86 * Custom handling for complex quests that QH currently kind of fails on ("collect these items, then use this to combine them, then give it to me" which invariably only gives you the second part at some random place in the world)
88 * Monster spawn zones should be more obvious, not just a few "go here" spots that you can't see simultaneously without a non-obvious UI feature
89 * Drop rates for quests
91 * Quest followups added automatically
97 * Automatic reagent/ammo restocking
103 * Loose prioritization
104 * Give some priority to turning in quests
105 * Tracking "leveling" as part of the route finder (ha ha oh god)
106 * Along with training, mounts
107 * What the hell let's toss reagents and repairs in here as well :D :D :D
109 * Separate CPU-usage multiplier for
118 * Auto-/target script?
119 * Track/infer completed quests
120 * Display more vertically? Is this even possible?
125 Message: ..\AddOns\QuestNav\graph.lua line 185:
126 attempt to compare nil with number
128 Message: ..\AddOns\QuestHelper\utility.lua line 190:
129 bad argument #1 to 'ceil' (number expected, got nil)
133 QuestHelper\utility.lua:190:
134 QuestHelper\utility.lua:189
136 QuestHelper\lang.lua:25:
137 QuestHelper\lang.lua:21
139 QuestHelper\lang.lua:42:
140 QuestHelper\lang.lua:40
141 QuestHelper\lang.lua:85:
142 QuestHelper\lang.lua:47
144 QuestHelper\flightpath.lua:68: TaxiNodeOnButtonEnter()
146 Message: ..\AddOns\QuestHelper\dodads.lua line 242:
147 attempt to index field 'pos' (a nil value)
150 QuestHelper\dodads.lua:242 GetOverlapObjectives()
151 QuestHelper\dodads.lua:441
152 QuestHelper\dodads.lua:437
154 this happens every single time I fly from Azeroth(ironforge) to Outland(quel danas, ghostlands, etc)
168 * Disenchantable flag
171 * Weapon/armor and weapon/armor subtype
185 * Start/end *location*
186 * Items/events involved?
191 * Item reward equip testing? vs. spec, class, level
193 * Flight paths that exist
199 QuestHelper_Collector_Version = 1
200 QuestHelper_Collector = {
201 ["0.58 on 1.2.3/enUS/2"] = {
204 -- Standard merger base here
212 reaction_4 = 155, -- this is the friendly-hostile stuff
233 [itemid] = {4, 8}, -- This only triggers if we know this critter drops a specific bit of loot - in some ways, it overrides the "loots" above
243 type = "type/subtype",
244 equiplocation = "LOC",
268 "CLEVSPEC", "CLEVSPEC"
270 equipped_no = { "CLEVSPEC", "CLEVSPEC" }
275 -- Standard merger base here
317 start = "M1234mDENSM1234mDENS", -- again, I kind of fucked this up, but it should be readable since M isn't a valid continent
318 end = "M1234mDENSM1234mDENS",
319 criteria_1_text = "hello I am a monster"
320 criteria_1_type = "monster"
321 criteria_1_satisfied = "(C3c)M1234mI1234iL(locbolus)l"
330 repgain = { faction, amount }
331 xpgain = { level, amount }
332 moneygain = { level, amount }
333 completedby = { "CLVSPEC", "CLVSPEC" }
336 ["flight_master"] = {
337 ["location_name"] = {
345 ["xx:yy@xx:yy"] = time, -- these are midpoints in the path, we can only get x,y coords and they seem to be slightly inaccurate. We'll collate on the build process.
346 ["xx:yy@xx:yy##count"] = count, -- how many samples we've taken. The "time" is a sum, divide by this for final results.
348 [""] = true, -- this merely indicates that the two are directly connected
354 ["zone@@realzone@@subzone"] = {
369 building = { "decompy" }
377 TODO ["achievement"] = {
380 { "monster/1234" = 12, "monster/4456" = 2 },
381 { "item/1234" = 9, },
382 { "reputation/1234" = 14, },
384 previous = (idnumber)
386 -- Availability should only be tagged for achievements in the static DB, since otherwise it will be heavily biased
396 "completed quest 1234",
398 "abandoned quest 1234",
399 "received quest 1234",
400 "available quests at X, a b c d",
404 "completed quest 1234",
405 "abandoned quest 1234",
406 "received quest 1234",
413 DENS: ZZXXYY, zone X Y. X and Y: take the value, add 9, divide by 19, bitpack that into three 8-bit values. Gives about 88k points within the standard 1-to-0. Good 'nuff.
414 COMP: DENS, then a stream of compressed eight direction vectors and a swim bit toggle (starting with the toggle if the user is already swimming) and a fall-damage notifier
417 Detect "going inside a cave"? Holy crap. I have never considered such a thing before.
420 ---- LET US THINK ABOUT LOOTING
422 So. A loot window pops up. What's it from?
424 There's a few options.
427 * Skinning, mining, or herbing (or engineering?) (could be either from a monster, or from an entity)
429 * Opening a container from inventory
433 Alternatively, you might just get random things.
435 * Using an item from inventory (modern clams)
436 * Talking to a dude (argent dawn?)
437 * Getting it for kills (honor tokens)
438 * Getting it for end-of-BG
444 Now here's a question. I already have to deal with items showing up in inventory out of nowhere. Is it perhaps better to just hook that, rather than trying to interpret loot windows? Also, what do I do about groups?
446 I think there's useful info I can get from loot windows, I'll stick with that. This also means that - in general - I don't want to worry about stuff that Simply Appears unless I think the user is actually involved somehow (using item from inventory, talking to a dude.) I'm not all that hugely worried about having to track where warglaives of azzinoth come from, at least for now.
449 So let's see how I can figure these out:
451 * Monster loot - Look for events and mouseover. Might not have it targeted, so don't assume they will.
452 * Skinning, mining, or herbing - All of these are spellcasts, see what the spell is (and what it targets) and what the user has targeted in case it's a monster. Also watch the last mouseover event, or the last tooltip?
453 * Disenchanting/prospecting - watch for Disenchant spellcast, look for last tooltip
454 * Using an entity - Spellcast, again. Watch tooltip for the entity and watch the cast timer?
455 * Opening a container from inventory - Tooltip, yet again. I think that's the best I can do. Also watch for the "can be opened" text.
456 * Fishing - IsFishingLoot, and spellcast. At least this one's easy.
458 Alternatively, you might just get random things.
460 * Using an item from inventory (modern clams) - tooltip, and watch for the "can be opened" text?
461 * Talking to a dude (argent dawn?) - right-click
464 * if LOOT_CLOSED fires without LOOT_OPENED firing, there just wasn't anything
465 * Watch for kills without looting! Track kill number too. If kills >> loots, use kills. Test this on those dudes in the desert.
468 Mouseover monster -> monster killed (can I detect this in any way? Maybe?) -> mouseover monster -> LOOT_CLOSED means looted ended -> might become skinnable/minable/herbable
469 We'll get lots of extra positives for group critters that are minable, since we never loot_close them, but I'm okay with that.
471 If we never LOOT_CLOSE a critter, we assume they may or may not have been looted, and we don't check skinnable/minable/herbable. We only count those if they're positive, or if there's a known LOOT_CLOSE. This will weight towards positive, but since the values should be either 0 or 1, I'm not too worried.
472 Looting and mining and the like target the creature! This helps a lot.