mirror of
https://github.com/mangosfour/server.git
synced 2025-12-13 04:37:00 +00:00
[6844] Daily quest fixes.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
This commit is contained in:
parent
17c6182eca
commit
c978b80be2
2 changed files with 14 additions and 4 deletions
|
|
@ -11577,7 +11577,7 @@ void Player::SendPreparedQuest( uint64 guid )
|
|||
else if( status == DIALOG_STATUS_INCOMPLETE )
|
||||
PlayerTalkClass->SendQuestGiverRequestItems( pQuest, guid, false, true );
|
||||
// Send completable on repeatable quest if player don't have quest
|
||||
else if( pQuest->IsRepeatable() )
|
||||
else if( pQuest->IsRepeatable() && !pQuest->IsDaily() )
|
||||
PlayerTalkClass->SendQuestGiverRequestItems( pQuest, guid, CanCompleteRepeatableQuest(pQuest), true );
|
||||
else
|
||||
PlayerTalkClass->SendQuestGiverQuestDetails( pQuest, guid, true );
|
||||
|
|
@ -11819,7 +11819,7 @@ bool Player::CanRewardQuest( Quest const *pQuest, bool msg )
|
|||
if(!pQuest->IsAutoComplete() && GetQuestStatus(pQuest->GetQuestId()) != QUEST_STATUS_COMPLETE)
|
||||
return false;
|
||||
|
||||
// daily quest can't be rewarded (10 daily quest already completed)
|
||||
// daily quest can't be rewarded (25 daily quest already completed)
|
||||
if(!SatisfyQuestDay(pQuest,true))
|
||||
return false;
|
||||
|
||||
|
|
@ -12420,6 +12420,15 @@ bool Player::SatisfyQuestExclusiveGroup( Quest const* qInfo, bool msg )
|
|||
if(exclude_Id == qInfo->GetQuestId())
|
||||
continue;
|
||||
|
||||
// not allow have daily quest if daily quest from exclusive group already recently completed
|
||||
Quest const* Nquest = objmgr.GetQuestTemplate(exclude_Id);
|
||||
if( !SatisfyQuestDay(Nquest, false) )
|
||||
{
|
||||
if( msg )
|
||||
SendCanTakeQuestResponse( INVALIDREASON_DONT_HAVE_REQ );
|
||||
return false;
|
||||
}
|
||||
|
||||
QuestStatusMap::iterator i_exstatus = mQuestStatus.find( exclude_Id );
|
||||
|
||||
// alternative quest already started or completed
|
||||
|
|
@ -14266,7 +14275,8 @@ void Player::_LoadQuestStatus(QueryResult *result)
|
|||
// add to quest log
|
||||
if( slot < MAX_QUEST_LOG_SIZE &&
|
||||
( questStatusData.m_status==QUEST_STATUS_INCOMPLETE ||
|
||||
questStatusData.m_status==QUEST_STATUS_COMPLETE && !questStatusData.m_rewarded ) )
|
||||
questStatusData.m_status==QUEST_STATUS_COMPLETE &&
|
||||
(!questStatusData.m_rewarded || pQuest->IsDaily()) ) )
|
||||
{
|
||||
SetQuestSlot(slot,quest_id,quest_time);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#ifndef __REVISION_NR_H__
|
||||
#define __REVISION_NR_H__
|
||||
#define REVISION_NR "6843"
|
||||
#define REVISION_NR "6844"
|
||||
#endif // __REVISION_NR_H__
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue