mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-18 08:28:32 +01:00
*A temp fix for the bug that weekly quests can be repeated without any limit.
--HG-- branch : trunk
This commit is contained in:
@@ -3465,7 +3465,7 @@ void ObjectMgr::LoadQuests()
|
||||
qinfo->QuestFlags &= QUEST_TRINITY_FLAGS_DB_ALLOWED;
|
||||
}
|
||||
|
||||
if(qinfo->QuestFlags & QUEST_FLAGS_DAILY)
|
||||
if(qinfo->QuestFlags & (QUEST_FLAGS_DAILY | QUEST_FLAGS_WEEKLY))
|
||||
{
|
||||
if(!(qinfo->QuestFlags & QUEST_TRINITY_FLAGS_REPEATABLE))
|
||||
{
|
||||
|
||||
@@ -133,6 +133,7 @@ enum __QuestFlags
|
||||
QUEST_FLAGS_AUTO_REWARDED = 0x00000400, // These quests are automatically rewarded on quest complete and they will never appear in quest log client side.
|
||||
QUEST_FLAGS_TBC_RACES = 0x00000800, // Not used currently: Blood elf/Draenei starting zone quests
|
||||
QUEST_FLAGS_DAILY = 0x00001000, // Used to know quest is Daily one
|
||||
QUEST_FLAGS_WEEKLY = 0x00008000,
|
||||
|
||||
// Trinity flags for set SpecialFlags in DB if required but used only at server
|
||||
QUEST_TRINITY_FLAGS_REPEATABLE = 0x010000, // Set by 1 in SpecialFlags from DB
|
||||
@@ -225,7 +226,7 @@ class Quest
|
||||
bool IsRepeatable() const { return QuestFlags & QUEST_TRINITY_FLAGS_REPEATABLE; }
|
||||
bool IsAutoComplete() const { return QuestMethod ? false : true; }
|
||||
uint32 GetFlags() const { return QuestFlags; }
|
||||
bool IsDaily() const { return QuestFlags & QUEST_FLAGS_DAILY; }
|
||||
bool IsDaily() const { return QuestFlags & (QUEST_FLAGS_DAILY | QUEST_FLAGS_WEEKLY); }
|
||||
|
||||
// multiple values
|
||||
std::string ObjectiveText[QUEST_OBJECTIVES_COUNT];
|
||||
|
||||
@@ -591,7 +591,7 @@ uint32 WorldSession::getDialogStatus(Player *pPlayer, Object* questgiver, uint32
|
||||
result2 = DIALOG_STATUS_REWARD_REP;
|
||||
else if (pPlayer->getLevel() <= pPlayer->GetQuestLevel(pQuest) + sWorld.getConfig(CONFIG_QUEST_LOW_LEVEL_HIDE_DIFF) )
|
||||
{
|
||||
if (pQuest->HasFlag(QUEST_FLAGS_DAILY))
|
||||
if (pQuest->IsDaily())
|
||||
result2 = DIALOG_STATUS_AVAILABLE_REP;
|
||||
else
|
||||
result2 = DIALOG_STATUS_AVAILABLE;
|
||||
|
||||
Reference in New Issue
Block a user