Questie

Questie

116M Downloads

WoW Classic (Hardcore) - Quest offer for "Rear Guard Patrol" not showing up on map, if hideUnexploredMapIcons is enabled.

Luke1410 opened this issue · 28 comments

commented

Description

The following quest in WoW Classic (Hardcore) is not showing up as an available quest with the quest giver at Tirisfal for me, unless I disable the setting 'hideUnexploredMapIcons', even though I can accept it from said NPC.

Wowhead link

https://www.wowhead.com/classic/quest=356/rear-guard-patrol

Screenshots

image

Questie & WoW version

v9.3.6 / WoW Classic (Hardcore) - 1.15.1 - version from 2024-02-10

commented

Ouch, that is absolutely not an easy case. "Hide quests in unexplored areas" is really hit or miss as Cabro already wrote. Won't be as easy to fix as other things.

commented

Specially as all too many addons remove "fog of war/hide unexplored areas"

commented

Specially as all too many addons remove "fog of war/hide unexplored areas"

Not sure if i can follow u, but if other addons are interfering with functionality, I guess that might easy be called of being out of scope to deal with.
In my case however that's just with Questie alone enabled, so no 3rd-party-addon interference involved (not saying u suggested it was, of course).

While questing along I see a couple of further cases which at a guess might be caused by the same behavior. Doesn't happen that frequently, but a couple of other examples are:
Durotar - Ukor (around 51/67) offering quest 2161: https://www.wowhead.com/classic/en/quest=2161
Durotar - Furl Scornbrow (around 49/40) offering quest 791: https://www.wowhead.com/classic/quest=791
Durotar - Rezlak (around 46/22) offering quests 834/835: https://www.wowhead.com/classic/quest=834 / https://www.wowhead.com/classic/quest=835
Kharanos - seems like all quests in Kharanos are affected too - f.e. quests: 287, 384, 400, 412
Dun Morogh - other affected quests: 313, 317, 318, 5541
Westfall - 'Alter Henkelkrug' (around 40/17): quest 140: https://www.wowhead.com/classic/quest=140/captain-sanders-hidden-treasure
Teldrassil - 'Sonderbare wedelbestückte Pflanze' (around 34/30): quest 931: https://www.wowhead.com/classic/quest=931/the-shimmering-frond
Teldrassil - 'Mist': quest 938: https://www.wowhead.com/classic/quest=938/mist
Darkshore - 'Buzzbox 411'/'Buzzbox 323': quest 1002/1003: https://www.wowhead.com/classic/quest=1002/buzzbox-323 / https://www.wowhead.com/classic/quest=1003/buzzbox-525
Ashenvale - 'Delgren der Läuterer'/Orendil Broadleaf/'Schildwache Aynasha': quest 970/1010/5713: https://www.wowhead.com/classic/quest=970/the-tower-of-althalaxx
Duskwood - 'Ghoulish Effigy': quest 26677: https://www.wowhead.com/cata/quest=26677/ghoulish-effigy (also presumably all other quests starting at Abercombie
Elwynn Forest - Darkmoon Faire - quests offered by Rinling (f.e. quest 7895: https://www.wowhead.com/classic/quest=7895/whirring-bronze-gizmo), Chronos (f.e. quest 7882: https://www.wowhead.com/classic/quest=7882/carnival-jerkins), Gelvas Grimegate (f.e. quest 7930: https://www.wowhead.com/classic/quest=7930/5-tickets-darkmoon-flower)
Dustwallow Marsh - 'The Black Shield': quest 1251: https://www.wowhead.com/classic/quest=1251/the-black-shield - also quests: 1252, 1268

If fixing this (or better said: providing a workaround) is deemed unreasonable, maybe another option might be yet another setting which works together with hiding these quests as in: "show quests with bugged quest locations". Players could then enable the setting so to still play their way (of not seeing quests in unexplored areas) while at the same time not risking missing a quest. This could then simply be provided with a whitelist to exempt certain questids from the visibility check.

commented

Run this command, let me know what results you get:
/questie doable 356

commented

It should show, but probably it's in a different place.

Can't rule that out, but also not confirm. At least on the world map of Tirisfal it doesn't show up in a different spot. The grey ones at Brill I double checked, and it's none of these. Other than that, there's no grey quest icon on that map:
image

Also skimmed through the world map on Kalimdor and eastern kingdom - couldn't spot a displaced quest icon there.

commented

Is that NPC not at these coords on hardcore? 65.49,60.25

commented

Run this command, let me know what results you get: /questie doable 356

image

commented

By all checks, it should show. The player can take the quest, the NPC has spawn coordinates. Do you get a tooltip for the quest on the NPC tooltip?

commented

By all checks, it should show. The player can take the quest, the NPC has spawn coordinates. Do you get a tooltip for the quest on the NPC tooltip?

yes, it's listed in the tooltip:
image

commented

So then, is it only the map icon that is not in the right place?

commented

So then, is it only the map icon that is not in the right place?

that's correct. Map icon doesn't show up for that one.

commented

It should show, but probably it's in a different place.

commented

Is that NPC not at these coords on hardcore? 65.49,60.25

Looks correct to me:
image

commented

Everything seems to be working fine on my side. This quest is exactly the same in era and wotlk, nothing is different:
image
Can you show me a screenshot that contains minimap and npc and npc tooltip in same time?

commented

Sure, enabled the display of NPC and quest ID for the sake of it too:
image

commented

Walked the wider area around the NPC's spot several times, no further area was revealed... will try to debug my way around the area check code in Questie...

Btw. looking at the code in QuestieMap.utils:IsExplored(): Guess this code there could be slightly improved to first check the uiMapId and if it's one of the hardcoded areas (f.e. Orgimmar) directly return true, so to not make the (unnecessary?) call to GetExploredAreaIDsAtPosition().

commented

If u are giving me some pointers where the icon handling is in the code, I could try my way debugging it.

commented

Can you go to My Journey and show me what da hail is happening there? :D
image

commented

image
image

commented

Do you get the dot on the map where the NPC should be if you press "Show on Map"?

commented

Do you get the dot on the map where the NPC should be if you press "Show on Map"?

Yes, it shows up at its location then:
image

commented

Then try to do a reload. Might be some weird edge case we didn't think of

commented

Tracked it down - it seems to be related to the setting of hiding icons in unexplored areas... checking whether that area is indeed unexplored (since it doesn't appear to be unexplored from the map's point of view to me).

commented

Ah, i forgot people play with that options :D Yes, that's 100% the cause. It's VERY hit and miss.

commented

Not quite able to trace the cause down. Apparently the call to C_Map.GetExploredAreaIDsAtPosition() seems correct to me but it returns nil. Not sure if this is a bug in WoW, or whether I'm indeed missing the relevant area.

Unfortunately, I'm out of ideas to trace this down any further w/o the source code...
Following is the output I produced for the map at question (uiMapId: 1420):
image

Corresponding Lua code for that debug output:
added to QuestieMap.utils:IsExplored():
image
added to _Qframe:ShouldBeHidden():
image

Hope that helps if anybody wants to pick it up from here.

commented

@Cabro do u get an areaID with ur client at that spot? If so, which one do u get?

commented

Better to get @BreakBB to have a look at it also

commented

Just saying, if it's not caused by me actually missing a spot there and rather an issue with the WoW API, then an idea for a workaround would be to hardcode that case and redirect the check to a nearby spot which works with the area-check correctly.