Rarity

Rarity

17M Downloads

Mr Pinchy getting detected in Draenor - Spires of Arak

Opened this issue ยท 4 comments

commented

So here I was fishing in Spires of Arak to finish off Draenor Angler's achievement, and while fishing in Skettis (the top northern part of Spires of Arak in the river) for Abyssal gulper eels it triggered Mr Pinchy's detection, but Mr Pinchy isn't supposed to be fished here unless Mr Pinchy time traveled from Outland to Draenor.

This was tested just 5 minutes ago on the r683-release version.

Edit : looking at the code, Mr Pinchy's detection happens in those zones :

zones = { "Lake Jorune", "Lake Ere'Noru", "Skethyl Mountains", "Blackwind Landing", "Blackwind Valley", "Skettis", "Blackwind Lake", "Veil Harr'ik", "Veil Ala'rak", "Terokk's Rest" },

But "Skettis" appears both in Outland and in Draenor. Not sure how you could differentiate the two.

commented

Thanks! I believe the item was added way before WOD and the library/routine used for zone detection doesn't properly differentiate between the two similarly-named subzones currently.

If attempts are always logged, then this could be fixed by checking for the continent/active map and only tracking our time-travelling lobster if we're in Outland and not Draenor.

There also was (is) some fishing wonkiness going on that'd be more difficult to repair (#21), but I'm hoping this one is unrelated and therefore easier to fix.

commented

Small update : It appears that in the code lots of items have their zones defined by an id like so:
zones = { "116", "127", "115", "117", "114"}
So I assume Skettis should have an ID for the Outland version and a different one for the Draenor version. That should be enough to differentiate the two and you won't need to check for the map or continent. But I have no idea how to get the correct zone ID to test that.

However there's a quick & dirty fix that I just did locally: from what I see none of the fishing pools in Outland are actually located in the Skettis subzone. They're really close, but they're all in the Blackwind Valley or Blackwind Lake subzone. The Skettis subzone only start a few feet from the shore. So removing Skettis entirely means you can still trigger the detection in Outland but not in Draenor. Not the cleanest fix because maybe you might be able to stand in the Skettis subzone and still reach a fishing pool that is in Blackwind Lake (I couldn't do it myself), but that might be enough for a temporary solution if all else fails.

commented

Using map IDs is a preferred way of detecting zones, as it's natively supported by Blizzard's API and doesn't rely on the LibBabble-(Sub)zone library, which uses localised zone names instead. Unfortunately, the area around the lakes doesn't have a separate map ID, as Blizzard usually only adds those for subzones that have a different world map. That's why you can't just use a map ID for this item - there's only one, for the entirety of Terrokar Forest. At least that was the case when I last checked.

Since this problem may occur with other items as well, I think I'll just add a list of zones that should be excluded from tracking to use in conjunction with the subzone name format, then add the zone ID for Spires of Arak to this item. It's not ideal, but should be simple enough to do.

commented

Fixed in 6f46387.