Jump to content

[11877] [patch]ZoneOrSort<0


Guest virusav
 Share

Recommended Posts

ZoneOrSort field with a negative value means the normal group quests in the list and in no way related to the requirement of professions.

Tested on quests, 13311, 12518, 12798 12517 and for which the cache is now the same as in 335a, but can take no profession Inking. At 335a, it was also.

The table has a field of quests and RequiredSkill RequiredSkillValue, which are responsible for demand occupations, so check the kernel superfluous.

diff --git a/src/game/ObjectMgr.cpp b/src/game/ObjectMgr.cpp
index e2d0be3..fcbd610 100644
--- a/src/game/ObjectMgr.cpp
+++ b/src/game/ObjectMgr.cpp
@@ -3782,17 +3782,6 @@ void ObjectMgr::LoadQuests()
                    qinfo->GetQuestId(),qinfo->ZoneOrSort);
                // no changes, quest not dependent from this value but can have problems at client (note some may be 0, we must allow this so no check)
            }
-
-            //check for proper RequiredSkill value (skill case)
-            if (uint32 skill_id = SkillByQuestSort(-int32(qinfo->ZoneOrSort)))
-            {
-                if (qinfo->RequiredSkill != skill_id)
-                {
-                    sLog.outErrorDb("Quest %u has `ZoneOrSort` = %i but `RequiredSkill` does not have a corresponding value (%u).",
-                        qinfo->GetQuestId(),qinfo->ZoneOrSort,skill_id);
-                    //override, and force proper value here?
-                }
-            }
        }

        // RequiredClasses, can be 0/CLASSMASK_ALL_PLAYABLE to allow any class 

Link to comment
Share on other sites

  • 3 weeks later...

see https://github.com/mangos/mangos/commit/a946ebcd3003d9fe7a67f151bb9cd86957af0f82

There were changes of this area, but I don't understand the problem atm.

Perhaps you can clarify for me.

1) What data is sent from retail to client of the fields ZoneOrSort, RequiredClasses, RequiredSkill

2) What exactly is the problem with the check you want to remove - do they throw some error output which they should not?

3) What is not working as expected in any of the quests SELECT * FROM quest_template WHERE entry IN (13311, 12518, 12798, 12517);

Edit:

A short lookup returned that the values like -371 are identified with 371 from QuestSort.dbc, which yields to inscription

Link to comment
Share on other sites

Hmm

ServerToClient: SMSG_QUEST_QUERY_RESPONSE (0x005D) Length: 1017 Time: 08/18/2010 19:25:12

Entry: 12593

Method: Normal

Level: 55

Min Level: 55

Sort: -372

So the content of ZoneOrSort is sent from server to client, and hence can be < 0.

The current check only checks if the (custom?) field RequiredSkill has a skill Corresponding to the value of -ZoneOrSort -- and reports a warning if they differ.

This looks reasonable to me.

So what is the problem with this check?

Edit:

Just trolled around on wowhead with quest http://old.wowhead.com/quest=12517

The current requirements for this quest are that you're level 10. You don't need to be a scribe to do the quest.

Is this true?

This would mean that quest 12517 should have ZoneOrSort == -371, but RequiredSkill== 0?

Which would now throw the error you want to remove?

Link to comment
Share on other sites

Just trolled around on wowhead with quest http://old.wowhead.com/quest=12517

The current requirements for this quest are that you're level 10. You don't need to be a scribe to do the quest.

Is this true?

I can't comment on the level requirement, but I'm sure that you don't need inscription to use that deck to summon the npc and hand in the quest. I did it with an 85 character (but note that we have 4.3 now on live of course).

Link to comment
Share on other sites

 Share

×
×
  • 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