mirror of
https://github.com/mangosfour/server.git
synced 2025-12-13 22:37:03 +00:00
Merge branch 'master' into 303
Conflicts: src/game/Creature.cpp
This commit is contained in:
commit
af6acab8f8
23 changed files with 288 additions and 129 deletions
|
|
@ -11908,7 +11908,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 );
|
||||
|
|
@ -12150,7 +12150,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;
|
||||
|
||||
|
|
@ -12756,6 +12756,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
|
||||
|
|
@ -14596,7 +14605,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);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue