|
Баг-репорты Описываем проблемы и ошибки работы ядра |
|
Опции темы | Поиск в этой теме | Опции просмотра |
11.10.2011, 19:52 | #1 |
Ученый
Регистрация: 10.03.2010
Адрес: Бобруйск
Сообщений: 284
Сказал(а) спасибо: 213
Поблагодарили 98 раз(а) в 84 сообщениях
|
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) зы тему не правильно назвал... |
Пользователь сказал cпасибо: | Mayss (11.10.2011) |
12.10.2011, 08:28 | #2 |
Ученый
Регистрация: 09.03.2010
Адрес: Кыргызстан
Сообщений: 266
Сказал(а) спасибо: 41
Поблагодарили 115 раз(а) в 34 сообщениях
|
Если память мне не изменяет на оффе после применения волны или еще чего конфуз спадает как после аттаки. А разве взрывная волна не наносит урона?
|
12.10.2011, 12:44 | #3 |
Ученый
Регистрация: 10.03.2010
Адрес: Бобруйск
Сообщений: 284
Сказал(а) спасибо: 213
Поблагодарили 98 раз(а) в 84 сообщениях
|
Наносит, но не отбрасывает, если цель под конфузом и соответственно получаем баг описанный выше.
|
12.10.2011, 14:52 | #4 |
Ученый
Регистрация: 09.03.2010
Адрес: Кыргызстан
Сообщений: 266
Сказал(а) спасибо: 41
Поблагодарили 115 раз(а) в 34 сообщениях
|
|
12.10.2011, 17:29 | #5 |
Модератор
|
Здесь моб не атакует при ауре конфьюза
Код:
void Unit::AttackerStateUpdate (Unit *pVictim, WeaponAttackType attType, bool extra ) { if(hasUnitState(UNIT_STAT_CAN_NOT_REACT) || HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PACIFIED) ) return; ................................. Не срабатывал Finalize в ConfusedMovementGenerator Код:
template<> void ConfusedMovementGenerator<Creature>::Finalize(Creature &unit) { unit.clearUnitState(UNIT_STAT_CONFUSED|UNIT_STAT_CONFUSED_MOVE); } |
13.10.2011, 20:50 | #6 |
MaNGOS Dev
Регистрация: 14.03.2010
Сообщений: 38
Сказал(а) спасибо: 23
Поблагодарили 49 раз(а) в 16 сообщениях
|
Все происходит благодаря корявости MotionMaster кода.
При снятии конфуз эффекта снимается не ConfusedMovementGenerator, а текущий эффект - EffectMovementGenerator(прыжок). немного работал над этим, несколько месяцев назад - https://github.com/SilverIce/mangos/tree/ustm_2 |
14.10.2011, 11:26 | #8 |
Ученый
Регистрация: 10.03.2010
Адрес: Бобруйск
Сообщений: 284
Сказал(а) спасибо: 213
Поблагодарили 98 раз(а) в 84 сообщениях
|
Юзаем на моба Дыхание дракона (маг) или Ослепление (Разбойник) , далее маговской абилкой Взрывной волной бьём моба, и вот глюк.
|
14.10.2011, 18:53 | #9 |
Почетный флудер
Старожил
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
|
проверил еще раз, глюка не нашел. видать у меня кем-то когда-то починено... но кода вроде вашего в r2 нет.
|
14.10.2011, 23:30 | #10 |
Новичок
Регистрация: 07.04.2010
Сообщений: 25
Сказал(а) спасибо: 1
Поблагодарили 2 раз(а) в 2 сообщениях
|
может у вас сначала наносится дамаг(снимается конфьюз) и затем прыжок. тогда проблемы не будет
|