Jump to content
  • Quests.LowLevelHideDiff Config option not working as intended


    Goullio
    • Status: Completed
      Main Category: Quests
      Sub-Category: Quest
      Version: 0.20(currentmasterbranch) Milestone: 21 Priority: Normal
      Implemented Version: 0.20(currentmasterbranch)

    Quests.LowLevelHideDiff Config option not working as intended

    This quest (wine shop advert) does not have a exclamation mark above its head of NPC 1432 (Renato Gellina) at level higher then 3. (its still yellow then in quest log)


    User Feedback

    Recommended Comments

    Checked in-game: at level 3 the exclamation mark is there, then when I .levelup to 4, the exclamation mark vanishes.

    I have no idea if this is how it should work, so someone else with better knowledge of the game needs to contribute to this. :)

    Is this how it should work ?

    Link to comment
    Share on other sites

    Okay, I'll check to see how this is decided in the core.

    Hmm, I could check in retail too, if the quests still work that way.

    I'll do that, then check to see how this is decided for MaNGOS.

    Yey, bring on a new toon! The start area is my favourite :)

    ----------------------------------------------------------------------------------------

    On retail now and monitoring the exclamation mark of a quest at the same level as the Wine Shop Advert one.

    With a toon at level 3 (Mungo the Monk), the exclamation mark is still yellow. Let's level up some more :)

    Ding, level 4 :) and the exclamation mark is still yellow.

    Level 5 and still yellow.

    Level 6 and still yellow.

    I don't know how good a comparison this is though. It could be they have changed the way it works. I'm going to head to SW and see if that Wine Shop Advert quest still exists :)

    The quest still exists and it is yellow for my level 6 monk.

    Gonna do something else now for a bit, and come back to this later.

    Link to comment
    Share on other sites

    I checked some other quests in Dun morogh with a lvl 11 character. Seems that more quests do not show exclamation mark when the quests are in the log green or even yellow.

    I suppose the "low level tag" for quests (when they become gray in the log and do not show a exclamation mark anymore may be off a couple of levels?

    I have looked in the quest_template file but there doesn't seem to be such a tag. I suppose its a game mechanic which decides when the quest becomes a too ''low'' level.

    Link to comment
    Share on other sites

    [quote=Goullio]I have looked in the quest_template file but there doesn't seem to be such a tag. I suppose its a game mechanic which decides when the quest becomes a too ''low'' level.[/quote]

    Yeah, probably server core side.

    I'll track it down at some point.

    Link to comment
    Share on other sites

    If a quest is considered too low level for your character (if it will have a gray color in your log), it will be much less visible. By default, an exclamation point will not appear above the quest giver's head, nor will one appear on the minimap without an extra step (see below). Since Patch 2.3, the quest title in the quest giver's talk window will also be tagged "(Low Level)".

    Before Patch 3.0.2, a low-level quest could be discovered only by mousing over (or interacting with) its quest giver. Since 3.0.2, selecting "Low Level Quests" on the minimap radar will display exclamation points for every available quest, including those considered "low level". This also causes a dull exclamation point to appear over NPCs offering low-level quests.

    This means, if the quest is still > gray in your quest log, it should show as yellow above the NPC's head. Not necessarily a core issue, it could also be an issue with the "quest level" not being consistent with the actual quest level requirement.

    Link to comment
    Share on other sites

    Thanks, Foereaper :)

    Silly me!!!! :o

    [B]quest_template [/B]table, [B][COLOR="#800080"]QuestLevel [/COLOR][/B]field - see what Foereaper said in his last sentence.

    I changed that to 5 for the quest and the exclamation mark did not vanish until I leveled him to 7.

    Okay, so that one needs fixing.

    I'll base it on the one in retail, unless anyone objects. I still need to level up my Monk to the point where that exclamation mark vanishes!

    ----------------------------------------------------------------------------------------------------------
    Comparing the MinLevel and QuestLevel values of quests with the data online (vanillagaming and the like), there appears to be quite a few inconsistencies.

    e.g. Filled Soul Gem can be picked up at level 1, yet it is an STV quest!!!
    Looking online it should be MinLevel 41, QuestLevel 46
    QuestLevel is correct in the database, but the MinLevel is oh-so very wrong, lol

    In this instance it looks like the '4' key was not pressed properly.

    I think I should probably go through the quests and build up a list of the ones that need to be corrected.
    Hmm, 4244 quests !!!!

    Maybe for another day, lol

    Just make a query and verify only those where the difference is higher than... 5-8 level ?

    Link to comment
    Share on other sites

    [B][CENTER]LIST OF AND CORRECTIONS TO INCORRECT QUEST MINLEVEL AND/OR QUESTLEVEL[/CENTER][/B]


    -- Filled Soul Gem
    -- [url]http://www.wowhead.com/item=3913/filled-soul-gem[/url]
    [COLOR="#0000FF"]UPDATE quest_template SET MinLevel=41 WHERE entry=593;[/COLOR]

    this issue has been given its own thread: [url]https://www.getmangos.eu/issue.php?issueid=714[/url]

    Link to comment
    Share on other sites

    NOTE: Possible issue in the core re the decision made of whether or not to show the exclamation mark:

    Questhandler.cpp
    lines 585 to 587

    else if (lowLevelDiff getLevel() GetQuestLevelForPlayer(pQuest) + uint32(lowLevelDiff))
    {
    dialogStatusNew = DIALOG_STATUS_AVAILABLE;
    }



    This basis part of its decision on the value entered in the [B]mangosd.conf[/B] file:

    # Quests.LowLevelHideDiff
    # Quest level difference to hide for player low level quests:
    # if player_level > quest_level + LowLevelQuestsHideDiff then quest "!" mark not show for quest giver
    # Default: 4
    # -1 (show all available quests marks)

    Quests.LowLevelHideDiff = 4


    Thanks, Ants, for the mangosd.conf tip.

    It seems that it is using MinLevel instead of QuestLevel in its decision making, even though the function name suggests otherwise.

    MinLevel 1
    QuestLevel 3
    LowLevelHideDiff 4

    quest_level + LowLevelQuestsHideDiff = 7

    That means the exclamation mark should not be shown for a player character level 7 or higher, BUT
    the exclamation mark is vanishing for player characters level 5 or higher, which is the value acquired if the calculation used MinLevel instead of QuestLevel.

    min_level + LowLevelQuestsHideDiff = 5

    ---------------------------------------------------------------------------------------
    I ran a test on the code, and it is using the QuestLevel, but it is [B][COLOR="#FF0000"]not using the value set in the mangosd.conf file for LowLevelHideDiff[/COLOR][/B]. It seems to think it is 1, when in the file it is set to 4 (by default).

    ----------------------------------------------------------------------------------------

    I used a hard coded value of 4 in the code, thus:

    else if (lowLevelDiff getLevel() GetQuestLevelForPlayer(pQuest) + 4)
    {
    dialogStatusNew = DIALOG_STATUS_AVAILABLE;
    }


    And that worked just as it should do in-game, so that value is either not being read from the mangosd.conf file or the value is being lost along the way.

    ----------------------------------------------------------------------------------------

    I'll need to trace the code back from:

    QuestHandler.cpp
    line 580
    int32 lowLevelDiff = sWorld.getConfig(CONFIG_INT32_QUEST_LOW_LEVEL_HIDE_DIFF);

    lowLevelDiff is getting set to 1, when it should be 4 (in my case and by default)!

    ----------------------------------------------------------------------------------------

    Testing the contents of the data structure that takes in the value on server start up, this [B][COLOR="#008000"]does contain[/COLOR][/B] the value we want, in this case 4.

    This means it looks like at some point it loses the value.

    I'll have to leave this for today and get back to it tomorrow...
    [B]note to self: [/B]
    World.cpp
    line 2160
    call to setConfig( ) function.
    also getConfig( ) returns the value 4 for CONFIG_INT32_QUEST_LOW_LEVEL_HIDE_DIFF at this point, but returns 1 in the QuestHandler.cpp file.

    So between the call to setConfigMinMax( ) in World.cpp and the call to getConfig( ) in World.cpp from QuestHandler.cpp it gets changed from 4 to 1.

    Link to comment
    Share on other sites

    Yeah, looks like you found a good little problem here, Goullio :) A proper issue. Initially it appeared to be quite trivial, but oh no!

    Plus, I spotted that other quests did have the wrong values for MinLevel and/or QuestLevel, so that will need to be sorted out. I'll open another thread for those, though. This issue is different.

    Link to comment
    Share on other sites

    After testing this seems to be something overwriting eConfigInt32Values (World.h) at index 1. This is the index for CONFIG_INT32_QUEST_LOW_LEVEL_HIDE_DIFF. If you manually change the index of CONFIG_INT32_QUEST_LOW_LEVEL_HIDE_DIFF to 2, everything works as it should. Still looking into what, and why, index 1 is overwritten.

    Renamed issue to be more descriptive, as the issue is broader than first expected.

    Link to comment
    Share on other sites



    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use