Ru-MaNGOS  

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

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

Патчи на рассмотрении Рассматриваемые к принятию патчи

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.10.2012, 13:11   #1
Den
Ученый
 
Регистрация: 10.03.2010
Сообщений: 282
Сказал(а) спасибо: 213
Поблагодарили 98 раз(а) в 84 сообщениях
Den Скоро придёт к известностиDen Скоро придёт к известности
По умолчанию [patch] Clear combo points for death target.

С мертвой цели комбо поинты должны удаляться через 10 секунд, а не сразу, проверено на офе.

Код:
diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index 9bdcc79..1d8f379 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -1403,8 +1403,6 @@ void Player::SetDeathState(DeathState s)
     {
         // drunken state is cleared on death
         SetDrunkValue(0);
-        // lost combo points at any target (targeted combo points clear in Unit::SetDeathState)
-        ClearComboPoints();
 
         clearResurrectRequestData();
 
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
index 888d4a6..9bb08e1 100644
--- a/src/game/Unit.cpp
+++ b/src/game/Unit.cpp
@@ -213,6 +213,8 @@ Unit::Unit() :
 
     m_castCounter = 0;
 
+    m_ClearComboPointsExpiredTime = 0;
+
     // m_Aura = NULL;
     // m_AurasCheck = 2000;
     // m_removeAuraTimer = 4;
@@ -363,6 +365,14 @@ void Unit::Update(uint32 update_diff, uint32 p_time)
             m_vehicleInfo->Update(update_diff);
     }
 
+    if (m_ClearComboPointsExpiredTime)
+    {
+        if (update_diff >= m_ClearComboPointsExpiredTime)
+            ClearComboPointHolders();
+        else
+            m_ClearComboPointsExpiredTime -= update_diff;
+    }
+
     // update abilities available only for fraction of time
     UpdateReactives(update_diff);
 
@@ -8584,7 +8594,8 @@ void Unit::SetDeathState(DeathState s)
     {
         CombatStop();
         DeleteThreatList();
-        ClearComboPointHolders();                           // any combo points pointed to unit lost at it death
+
+        m_ClearComboPointsExpiredTime = 10000;
 
         if (IsNonMeleeSpellCasted(false))
             InterruptNonMeleeSpells(false);
diff --git a/src/game/Unit.h b/src/game/Unit.h
index 2d3305c..31bebec 100644
--- a/src/game/Unit.h
+++ b/src/game/Unit.h
@@ -1987,6 +1987,8 @@ class MANGOS_DLL_SPEC Unit : public WorldObject
         uint32 m_state;                                     // Even derived shouldn't modify
         uint32 m_CombatTimer;
 
+        uint32 m_ClearComboPointsExpiredTime;
+
         Spell* m_currentSpells[CURRENT_MAX_SPELL];
         uint32 m_castCounter;                               // count casts chain of triggered spells for prevent infinity cast crashes
Den вне форума   Ответить с цитированием
Старый 10.10.2012, 13:18   #2
Amaru
MaNGOS Dev
 
Регистрация: 16.01.2011
Сообщений: 262
Сказал(а) спасибо: 57
Поблагодарили 73 раз(а) в 59 сообщениях
Amaru На верном пути
По умолчанию

Ну это только с 4.х, так как там есть спеллы которые требуют комбо поинты и которые можно юзать на мертвые таргеты
Amaru вне форума   Ответить с цитированием
Старый 10.10.2012, 13:38   #3
Den
Ученый
 
Регистрация: 10.03.2010
Сообщений: 282
Сказал(а) спасибо: 213
Поблагодарили 98 раз(а) в 84 сообщениях
Den Скоро придёт к известностиDen Скоро придёт к известности
По умолчанию

А мне помнится в 3.3.5, можно было использовать Slice and Dice, когда цель мертва и на ней есть комбо поинты.
Den вне форума   Ответить с цитированием
Старый 10.10.2012, 14:35   #4
Amaru
MaNGOS Dev
 
Регистрация: 16.01.2011
Сообщений: 262
Сказал(а) спасибо: 57
Поблагодарили 73 раз(а) в 59 сообщениях
Amaru На верном пути
По умолчанию

Цитата:
*edit* As of 4.0, you don't immediately lose combo points on a dead target (they disappear after about 20 seconds, or when you generate new ones on another target) and you can use Savage Roar (same with the rogue's Slice and Dice) without the target selected (alive or not) so you can kill an enemy however you like, and then spend remaining combo points on a SR before attacking the next enemy. Note however, that some boss adds or otherwise summoned creatures despawn instantly on death, meaning any combo points on them are lost.
с вовхеда http://www.wowhead.com/spell=52610/savage-roar
Amaru вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Ranger (11.10.2012)
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[10636] Implement server side check combo points req. for spell cast. newsbot CMaNGOS Commits 11 22.10.2010 08:33
[10543] Fix handling of spell 14157 and 14189 so they really apply combo points after current spell newsbot CMaNGOS Commits 0 26.09.2010 18:10
[dev/patch]Death's Challenge (quest 12733) partizanes Патчи 0 13.09.2010 15:36
[patch] Хватка смерти (Death Grip) zergtmn Патчи на рассмотрении 3 11.06.2010 04:06
[patch] Реализация бонуса к Death Coil от Sigil of the Vengeful Heart Warlord123 Патчи на рассмотрении 0 15.03.2010 14:01


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


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