Показать сообщение отдельно
Старый 02.11.2013, 21:10   #1
Den
Ученый
 
Регистрация: 10.03.2010
Адрес: Бобруйск
Сообщений: 284
Сказал(а) спасибо: 213
Поблагодарили 98 раз(а) в 84 сообщениях
Den Скоро придёт к известностиDen Скоро придёт к известности
По умолчанию [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);
 }
Den вне форума   Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
Amaru (02.11.2013), MaxXx2021 (02.11.2013)