Jump to content

[9310]XP rewards for quests


Guest przemratajczak

Recommended Posts

MaNGOS 9310

UDB 387 (clean)

SD2 1566

Quest rewards for some quests are badly counted. In quest log amount of XP for quest is 10 times higher comparing with quest giver gossip menu, or with actualy rewarded.

how to reproduce:

1) get horde character and go creature id 21772

2) take quest http://thottbot.com/q11046

3) you will see things like posted below

http://img525.imageshack.us/gal.php?g=wowscrnshot020610124346.jpg

Link to comment
Share on other sites

RewMoneyMaxLevel is causing issue. according to http://udbforums.kicks-ass.net/index.php?topic=13030.0 this is full offi data so something has to be wrong in formula:

uint32 Quest::XPValue( Player *pPlayer ) const
{
   if( pPlayer )
   {
       if( RewMoneyMaxLevel > 0 )
       {
           uint32 pLevel = pPlayer->getLevel();
           uint32 qLevel = QuestLevel > 0 ? (uint32)QuestLevel : 0;
           float fullxp = 0;
           if (qLevel >= 15)
               fullxp = RewMoneyMaxLevel / 6.0f;
           else if (qLevel == 14)
               fullxp = RewMoneyMaxLevel / 4.8f;
           else if (qLevel == 13)
               fullxp = RewMoneyMaxLevel / 3.666f;
           else if (qLevel == 12)
               fullxp = RewMoneyMaxLevel / 2.4f;
           else if (qLevel == 11)
               fullxp = RewMoneyMaxLevel / 1.2f;
           else if (qLevel >= 1 && qLevel <= 10)
               fullxp = RewMoneyMaxLevel / 0.6f;
           else if (qLevel == 0)
               fullxp = RewMoneyMaxLevel;

           if( pLevel <= qLevel +  5 )
               return (uint32)fullxp;
           else if( pLevel == qLevel +  6 )
               return (uint32)(fullxp * 0.8f);
           else if( pLevel == qLevel +  7 )
               return (uint32)(fullxp * 0.6f);
           else if( pLevel == qLevel +  8 )
               return (uint32)(fullxp * 0.4f);
           else if( pLevel == qLevel +  9 )
               return (uint32)(fullxp * 0.2f);
           else
               return (uint32)(fullxp * 0.1f);
       }
   }
   return 0;
}

I took random quests from wowhead and assuming that wowhead has valid data our formula is clearly wrong. http://www.sendspace.com/file/ff5bhd there are two trends on the chart. one is slowly decreasing, one is constant about 1.6 XP per copper RewMoneyMaxLevel. I think it means that some kind of quest flag has deep impact in quest reward. ofc it is just small sample, deeper research would require parsing whole wowhead data, and looking for pattern.

Link to comment
Share on other sites

  • 2 weeks later...
×
×
  • 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