SavedInstances

SavedInstances

11M Downloads

Developer level support for manually adding daily rares

jagaudet opened this issue · 9 comments

commented

Similar to #70, I've added code to WorldBosses.lua like so:

--- WorldBosses.lua.orig        2019-07-14 12:23:27.000000000 -0700
+++ WorldBosses.lua     2019-07-14 12:46:33.000000000 -0700
@@ -70,4 +70,8 @@
   [9002] = { quest=47461, name=L["Lord Kazzak"], expansion=7, level=120},          -- Lord Kazzak
   [9003] = { quest=47462, name=L["Azuregos"], expansion=7, level=120},             -- Azuregos
   [9004] = { quest=47463, name=L["Dragon of Nightmare"], expansion=7, level=120},  -- Dragon of Nightmare
+  [9501] = { quest=55512, name=L["Arachnoid Harvester"], expansion=7, level=120},  -- Arachnoid Harvester
+  [9502] = { quest=55546, name=L["Armored Vaultbot"], expansion=7, level=120},  -- Armored Vaultbot
+  [9503] = { quest=55852, name=L["Gear Checker Cogstar"], expansion=7, level=120},  -- Gear Checker Cogstar
+
 }

The point here, of course, is to track the three rares on Mechagon that still have loot drops I need, across all of my characters. It works great, but I have to manually edit the expiry time in SavedVariables each day (or just remove them entirely the next day) because the addon assumes it's a weekly expiry, not a daily expiry.

If we could add "expiry=daily" to such a manual entry, then people could extend this for customized use without too much trouble.

commented

You can put it in _specialQuests in Quests.lua.

commented

Interestingly, version 8.0.9 seems to pick up that they are daily quests without any further modification.

commented

Ah, I almost forgot. If you want them tracked like world boss which are able to check progress in one line, put them in trackedQuest in Progress.lua, and you can remove them from WorldBosses.lua and Quests.lua.

{
    name = L["Arachnoid Harvester"],
    quest = 55512,
    daily = true,
},

But I don't like the idea to track tons of rares in SI, so I'm afraid this won't be added into SI.

commented

Thanks for that tip. I gave it a try; using _specialQuests in Quests.lua appears to bundle the rares behind a quest counter, requiring one to mouseover the counter for each character to drill into the details. Whereas adding as a WorldBoss gives each rare its own line, allowing one to eyeball the list to see which characters haven't killed it yet. The WorldBoss ease of use is more important than it automatically resetting each day, unfortunately.

As a middle ground, I can use both, which will allow me to copy the expiry from the quest data to the World Boss data, negating the need to work out the epoch time of the next day's reset. That will certainly simplify the manual editing of the data file each day.

commented

Thanks, that worked. To keep it clean, I had to also add ProgressX = true lines to SavedVariables.lua, and I couldn't put them in front of "Conquest" or the display shifted in a weird way; characters who had the checkbox for the rare looked fine, otherwise the data below it shifted up a row to fill the empty slot. I'd imagine if there was an easy way to fill the empty slot with "0/1", similar to how the Warfront rows look, that would also have solved it.

This method separates the rares from the weekly bosses, which is nice. I don't need to track Conquest or Expeditions, so now I have a nice isolated cluster of tracked rares. It's also a cleaner solution in that I don't have to generate a bogus ID, though I expect the IDs I was using would not have been an issue. Thanks for the help!

If I spot anything unrelated to my mods that seems to be impacted by the daily-vs-weekly reset that changed sometime after 8.0.9, I'll file a separate bug for it.

commented

I wasn't able to add these rares to the trackedQuest in Progress.lua without the addon breaking in-game (it no longer showed anything but an empty frame). Could you please provide more detailed instructions on how to add these rares?

I also didn't follow the ProgressX=true modifications. Where do I make those changes in the SavedVariables.lua?

commented

My current diffs:

--- ../test/SavedInstances/Progress.lua	2019-07-10 14:27:20.000000000 -0700
+++ Progress.lua	2019-07-23 15:00:50.000000000 -0700
@@ -112,6 +112,32 @@
     weekly = true,
     resetFunc = KeepProgress,
   },
+  {
+    name = "Arachnoid Harvester",
+    quest = 55512,
+    daily = true,
+    resetFunc = KeepProgress,
+  },
+  {
+    name = "Armored Vaultbot",
+    quest = 55546,
+    daily = true,
+  },
+  {
+    name = "Gear Checker Cogstar",
+    quest = 55852,
+    daily = true,
+  },
+  {
+    name = "Soundless",
+    quest = 56298,
+    daily = true,
+  },
+  {
+    name = "Mechanized Chest",
+    quest = 57081,
+    daily = true,
+  }
 }
 
 function P:OnEnable()
--- ../test/SavedInstances/SavedInstances.lua	2019-07-10 14:27:20.000000000 -0700
+++ SavedInstances.lua	2019-07-23 15:01:22.000000000 -0700
@@ -1,4 +1,4 @@
-local addonName, addon = ...
+local addonName, addon = ...
 local addonAbbrev = "SI"
 local core = addon.core
 local L = addon.L
@@ -483,6 +483,11 @@
     TrackParagon = true,
     Progress1 = true, -- PvP Conquest
     Progress2 = true, -- Island Weekly
+    Progress3 = true, -- Arachnoid Harvester
+    Progress4 = true, -- Vaultbot
+    Progress5 = true, -- Cogstar
+    Progress6 = true, -- Soundless
+    Progress7 = true, -- Mechanized Chest
     Warfront1 = true, -- Arathi Highlands
     Warfront2 = true, -- Darkshores
   },
commented

Note that Mechanized Chest is actually weekly, but they aren't auto-clearing anyways (you have to log in that character to reset these dailies), so it doesn't matter. It tracks if you've opened one for the week, for the Mechagon mini drop.

commented

Thank you! I had name = L["Arachnoid Harvester"] instead of name = "Arachnoid Harvester" and that was causing the addon to not work. Your changes/updates work perfectly for me now.