Ru-MaNGOS

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

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

Принятые патчи Иногда выкладывают патчи, которые потом в итоге все-таки принимают в ядро.

Повод для гордости.

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.01.2011, 09:12   #1
Den
Ученый
 
Регистрация: 10.03.2010
Адрес: Бобруйск
Сообщений: 284
Сказал(а) спасибо: 213
Поблагодарили 98 раз(а) в 84 сообщениях
Den Скоро придёт к известностиDen Скоро придёт к известности
По умолчанию [11446] resurrect player - if it not in raid group

Название темы
Суть проблемы:
Если труп персонажа в рейдовом подземелье, а рейдовая группа расформирована, то воскресится нельзя.
Древний баг, если не изменяет память , то припоминаю ещё с версии 2.4.3
Как далжно работать:
Призраком заходим на портал и игрок воскрешается, только если без группы или в ней, кроме рейдовой группы.

Работает, но есть какие-то сомнения... может быть, есть ошибки ?

PHP код:
diff --git a/src/game/MiscHandler.cpp b/src/game/MiscHandler.cpp
index e7a1d27
..6fd10fc 100644
--- a/src/game/MiscHandler.cpp
+++ b/src/game/MiscHandler.cpp
@@ -806,+806,25 @@ void WorldSession::HandleAreaTriggerOpcode(WorldPacket recv_data)
                 
GetPlayer()->SendTransferAborted(at->target_mapIdTRANSFER_ABORT_DIFFICULTYGetPlayer()->GetDifficulty(mapEntry->IsRaid()));
             return;
         }
+
+        
// resurrect player - if it not in raid group
+        if (!GetPlayer()->isAlive())
+        {
+            
Groupgroup GetPlayer()->GetGroup();
+            if (!
group || !group->isRaidGroup())
+            {
+                
Corpse *corpse GetPlayer()->GetCorpse();
+                
uint32 corpsemapid corpse->GetMapId();
+                if (
corpsemapid != GetPlayer()->GetMapId())
+                {
+                    if (
MapEntry const* corpseMapEntry sMapStore.LookupEntry(corpsemapid))
+                    {
+                        if (
corpseMapEntry->IsDungeon() && corpseMapEntry->ghost_entrance_map >= 0)
+                            
GetPlayer()->ResurrectPlayer(0.5f);
+                    }
+                }
+            }
+        }
     }
 
     
GetPlayer()->TeleportTo(at->target_mapIdat->target_Xat->target_Yat->target_Zat->target_OrientationTELE_TO_NOT_LEAVE_TRANSPORT); 
Den вне форума  
Пользователь сказал cпасибо:
Vladimir (08.05.2011)
 


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[10713] player/group instance binding fixes. newsbot CMaNGOS Commits 0 10.11.2010 03:40
[9921] In case player who tap creature in group leave group it must anyway rewarded with group. newsbot CMaNGOS Commits 0 18.05.2010 04:11
[9920] Restore group rewarding at player kill. newsbot CMaNGOS Commits 0 18.05.2010 03:40


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


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