diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 82e1c33ec..a51c91236 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -6016,17 +6016,14 @@ bool Unit::HandleProcTriggerSpell(Unit *pVictim, uint32 damage, Aura* triggeredB { int32 value2 = CalculateSpellDamage((*i)->GetSpellProto(),2,(*i)->GetSpellProto()->EffectBasePoints[2],this); basepoints0 = value2 * GetMaxPower(POWER_MANA) / 100; - // Drain Soul - triggered_spell_id = 18371; - target = this; - found = true; + CastCustomSpell(this, 18371, &basepoints0, NULL, NULL, true, castItem, triggeredByAura); break; } } - if(!found) - return false; - break; // fall through to normal cast + // Not remove charge (aura removed on death in any cases) + // Need for correct work Drain Soul SPELL_AURA_CHANNEL_DEATH_ITEM aura + return false; } break; } diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 2c90a0670..a20708ae8 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "6875" + #define REVISION_NR "6876" #endif // __REVISION_NR_H__