Ru-MaNGOS

Ru-MaNGOS (http://mangos.ytdb.ru/index.php)
-   Патчи на рассмотрении (http://mangos.ytdb.ru/forumdisplay.php?f=49)
-   -   [patch] Check alive unit for some aura state. (http://mangos.ytdb.ru/showthread.php?t=7751)

Den 02.11.2013 21:10

[patch] Check alive unit for some aura state.
 
Опишу ситуацию: Значит бьем моба, срабатывает к примеру у паладина "Молот правосудия" (вроде бы так название) далее убиваем моба, после берем в таргет мертвого моба, а абилка то все еще активная и готова к использованию. А так быть не должно, если сравнивать сервер близов, у них после когда в таргет мертвого моба берешь, то никакие добивающие абилки не прокают.

Код:

diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
index 5ca6978..2005b39 100644
--- a/src/game/Unit.cpp
+++ b/src/game/Unit.cpp
@@ -341,8 +341,12 @@ void Unit::Update(uint32 update_diff, uint32 p_time)
    // update abilities available only for fraction of time
    UpdateReactives(update_diff);
 
-    ModifyAuraState(AURA_STATE_HEALTHLESS_20_PERCENT, GetHealth() < GetMaxHealth() * 0.20f);
-    ModifyAuraState(AURA_STATE_HEALTHLESS_35_PERCENT, GetHealth() < GetMaxHealth() * 0.35f);
+    if (isAlive())
+    {
+        ModifyAuraState(AURA_STATE_HEALTHLESS_20_PERCENT, GetHealth() < GetMaxHealth() * 0.20f);
+        ModifyAuraState(AURA_STATE_HEALTHLESS_35_PERCENT, GetHealth() < GetMaxHealth() * 0.35f);
+    }
+
    UpdateSplineMovement(p_time);
    i_motionMaster.UpdateMotion(p_time);
 }



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

ru-mangos.ru - Русское сообщество MaNGOS