Ru-MaNGOS

Вернуться   Ru-MaNGOS > Ядро > Патчи > Отвергнутые патчи

Важная информация

Отвергнутые патчи Патчи, отвергнутые от приёма в GIT

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.12.2010, 21:11   #1
virusav
Администратор
 
Аватар для virusav
 
Регистрация: 19.02.2010
Сообщений: 492
Сказал(а) спасибо: 55
Поблагодарили 341 раз(а) в 154 сообщениях
virusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человек
Отправить сообщение для virusav с помощью ICQ
По умолчанию [patch][ReqSourceId]Дроп вспомогательных итемов

На текущий момент при комплите квеста вспомогательные итемы, указанные в ReqSourceId, перестают выпадать, а должны.
Пример: http://ru.wowhead.com/quest=12068 (также в других квестах цепочки). У квеста стоит требование принести основной итем, но при этом надо собрать 5 вспомогательных итемов, чтобы игрок мог наложить на себя ауру, увидеть квестгивера и сдать квест.
Сейчас при взятии квестового итема нельзя выбить вспомогательные и сдать квест.

Патч:
Код:
diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index 8cf5741..bcaad71 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -14765,36 +14765,37 @@ void Player::ReputationChanged(FactionEntry const* factionEntry )
 
 bool Player::HasQuestForItem( uint32 itemid ) const
 {
-    for( int i = 0; i < MAX_QUEST_LOG_SIZE; ++i )
+    for (int i = 0; i < MAX_QUEST_LOG_SIZE; ++i)
     {
         uint32 questid = GetQuestSlotQuestId(i);
-        if ( questid == 0 )
+        if (questid == 0)
             continue;
 
         QuestStatusMap::const_iterator qs_itr = mQuestStatus.find(questid);
-        if(qs_itr == mQuestStatus.end())
+        if (qs_itr == mQuestStatus.end())
             continue;
 
         QuestStatusData const& q_status = qs_itr->second;
 
-        if (q_status.m_status == QUEST_STATUS_INCOMPLETE)
+        if (q_status.m_status == QUEST_STATUS_INCOMPLETE || q_status.m_status == QUEST_STATUS_COMPLETE)
         {
             Quest const* qinfo = sObjectMgr.GetQuestTemplate(questid);
-            if(!qinfo)
-                continue;
-
-            // hide quest if player is in raid-group and quest is no raid quest
-            if (GetGroup() && GetGroup()->isRaidGroup() && !qinfo->IsAllowedInRaid() && !InBattleGround())
+            if (!qinfo)
                 continue;
 
-            // There should be no mixed ReqItem/ReqSource drop
-            // This part for ReqItem drop
-            for (int j = 0; j < QUEST_ITEM_OBJECTIVES_COUNT; ++j)
+            if (q_status.m_status == QUEST_STATUS_INCOMPLETE)
             {
-                if(itemid == qinfo->ReqItemId[j] && q_status.m_itemcount[j] < qinfo->ReqItemCount[j] )
-                    return true;
+                // hide quest if player is in raid-group and quest is no raid quest
+                if (GetGroup() && GetGroup()->isRaidGroup() && !qinfo->IsAllowedInRaid() && !InBattleGround())
+                    continue;
+
+                // There should be no mixed ReqItem drop
+                for (int j = 0; j < QUEST_ITEM_OBJECTIVES_COUNT; ++j)
+                {
+                    if (itemid == qinfo->ReqItemId[j] && q_status.m_itemcount[j] < qinfo->ReqItemCount[j])
+                        return true;
+                }
             }
-            // This part - for ReqSource
             for (int j = 0; j < QUEST_SOURCE_ITEM_IDS_COUNT; ++j)
             {
                 // examined item is a source item
virusav вне форума   Ответить с цитированием
3 пользователя(ей) сказали cпасибо:
KiriX (21.12.2010), Lightunit (21.12.2010), LordJZ (21.12.2010)
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Текущее время: 08:42. Часовой пояс GMT +3.


ru-mangos.ru - Русское сообщество MaNGOS
Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума Ru-MaNGOS будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot