Ru-MaNGOS

Ru-MaNGOS (http://mangos.ytdb.ru/index.php)
-   Баг-репорты (http://mangos.ytdb.ru/forumdisplay.php?f=27)
-   -   effect_confused (http://mangos.ytdb.ru/showthread.php?t=5101)

Den 11.10.2011 19:52

effect_confused
 
Вообщем как получается, если цель находится под SPELL_AURA_MOD_CONFUSE , то после применения маговской абилки Взрывная волна - моб перестает атакавать , а еще после одной Взрывной волны он вообще ходит сам по себе и не атакует цель, но агро держится и его можно бить, и при этом он тупо стоит.

Решение есть:

Код:

diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp
index 40c9709..ac0331b 100644
--- a/src/game/SpellEffects.cpp
+++ b/src/game/SpellEffects.cpp
@@ -8625,10 +8625,13 @@ void Spell::DoSummonCritter(SpellEffectIndex eff_idx, uint32 forceFaction)
 
 void Spell::EffectKnockBack(SpellEffectIndex eff_idx)
 {
-    if(!unitTarget)
+    if (!unitTarget)
        return;
 
-    unitTarget->KnockBackFrom(m_caster,float(m_spellInfo->EffectMiscValue[eff_idx])/10,float(damage)/10);
+    if (unitTarget->HasAuraType(SPELL_AURA_MOD_CONFUSE))
+        unitTarget->RemoveSpellsCausingAura(SPELL_AURA_MOD_CONFUSE);
+
+    unitTarget->KnockBackFrom(m_caster, float(m_spellInfo->EffectMiscValue[eff_idx]) / 10, float(damage) / 10);
 }
 
 void Spell::EffectSendTaxi(SpellEffectIndex eff_idx)

Может есть какое доказательство , что так и было на офе в 3.3.5 версии ?

зы тему не правильно назвал...

MaxXx2021 12.10.2011 08:28

Если память мне не изменяет на оффе после применения волны или еще чего конфуз спадает как после аттаки. А разве взрывная волна не наносит урона?

Den 12.10.2011 12:44

Наносит, но не отбрасывает, если цель под конфузом и соответственно получаем баг описанный выше.

MaxXx2021 12.10.2011 14:52

Цитата:

Сообщение от Den (Сообщение 25460)
Наносит, но не отбрасывает, если цель под конфузом и соответственно получаем баг описанный выше.

Ну это хак вы сделали... Скорее всего при использовании волны на цель конфуза слетает Движение. Нужно править в movement.

MaS0n 12.10.2011 17:29

Здесь моб не атакует при ауре конфьюза

Код:

void Unit::AttackerStateUpdate (Unit *pVictim, WeaponAttackType attType, bool extra )
{
    if(hasUnitState(UNIT_STAT_CAN_NOT_REACT) || HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PACIFIED) )
        return;
.................................

Не знаю насчет текущего бага, но был баг что после спадания ауры конфьюза, не снимался UNIT_STAT_CONFUSED - который входит в UNIT_STAT_CAN_NOT_REACT

Не срабатывал Finalize в ConfusedMovementGenerator

Код:

template<>
void ConfusedMovementGenerator<Creature>::Finalize(Creature &unit)
{
    unit.clearUnitState(UNIT_STAT_CONFUSED|UNIT_STAT_CONFUSED_MOVE);
}


SilverIce 13.10.2011 20:50

Все происходит благодаря корявости MotionMaster кода.
При снятии конфуз эффекта снимается не ConfusedMovementGenerator, а текущий эффект - EffectMovementGenerator(прыжок).

немного работал над этим, несколько месяцев назад - https://github.com/SilverIce/mangos/tree/ustm_2

rsa 14.10.2011 09:53

"эта... ты не умничай, ты пальцем покажи!"
;)
PS что-то я исходный глюк повторить не могу...

Den 14.10.2011 11:26

Юзаем на моба Дыхание дракона (маг) или Ослепление (Разбойник) , далее маговской абилкой Взрывной волной бьём моба, и вот глюк.

rsa 14.10.2011 18:53

проверил еще раз, глюка не нашел. видать у меня кем-то когда-то починено... но кода вроде вашего в r2 нет.

Forgotten 14.10.2011 23:30

может у вас сначала наносится дамаг(снимается конфьюз) и затем прыжок. тогда проблемы не будет


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

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