PDA

Просмотр полной версии : Prevent dodge attack when cast spell


Den
23.04.2012, 20:40
Когда кастится любое заклинание шанс уклонения должен состовлять 0.0% вне зависимости в спину или в лицо, так же как и для парирования (на это уже есть проверка).

diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
index 89e7084..9133d64 100644
--- a/src/game/Unit.cpp
+++ b/src/game/Unit.cpp
@@ -3278,13 +3278,14 @@ uint32 Unit::GetDefenseSkillValue(Unit const* target) const

float Unit::GetUnitDodgeChance() const
{
- if(hasUnitState(UNIT_STAT_STUNNED))
+ if (IsNonMeleeSpellCasted(false) || hasUnitState(UNIT_STAT_STUNNED))
return 0.0f;
- if( GetTypeId() == TYPEID_PLAYER )
+
+ if (GetTypeId() == TYPEID_PLAYER)
return GetFloatValue(PLAYER_DODGE_PERCENTAGE);
else
{
- if(((Creature const*)this)->IsTotem())
+ if (((Creature const*)this)->IsTotem())
return 0.0f;
else
{

rsa
23.04.2012, 20:49
неверно - при целой куче канальных спеллов шанс наоборот станет больше...

Den
24.04.2012, 09:28
Быть может не так написал.
Когда игрок кастит к примеру камень возвращения, шанс паррирования и уклонения у него становится 0.0%. (Заметил это когда копал шахты, моб 15 левела нападающий на игрока 85 левела, не разу не было парирования или уклонения)
Единственное, что может сделать атакующий так это промахнутся.

rsa
24.04.2012, 12:37
Да мысль-то верная, но все совсем не так просто...