diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index 95f2b8f04..4991b3748 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -1002,25 +1002,6 @@ void Spell::DoAllEffectOnTarget(TargetInfo *target) int32 damagePoint = damageInfo.damage * 33 / 100; m_caster->CastCustomSpell(m_caster, 32220, &damagePoint, NULL, NULL, true); } - // Bloodthirst - else if (m_spellInfo->SpellFamilyName == SPELLFAMILY_WARRIOR && m_spellInfo->SpellFamilyFlags & 0x40000000000LL) - { - uint32 BTAura = 0; - switch(m_spellInfo->Id) - { - case 23881: BTAura = 23885; break; - case 23892: BTAura = 23886; break; - case 23893: BTAura = 23887; break; - case 23894: BTAura = 23888; break; - case 25251: BTAura = 25252; break; - case 30335: BTAura = 30339; break; - default: - sLog.outError("Spell::EffectSchoolDMG: Spell %u not handled in BTAura",m_spellInfo->Id); - break; - } - if (BTAura) - m_caster->CastSpell(m_caster,BTAura,true); - } } // Passive spell hits/misses or active spells only misses (only triggers) else diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index d08a4faab..d85e10b4b 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -1288,6 +1288,12 @@ void Spell::EffectDummy(uint32 i) m_caster->CastCustomSpell(m_caster, 12976, &healthModSpellBasePoints0, NULL, NULL, true, NULL); return; } + // Bloodthirst + case 23881: + { + m_caster->CastCustomSpell(unitTarget, 23885, &damage, NULL, NULL, true, NULL); + return; + } } break; case SPELLFAMILY_WARLOCK: diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 65604b3f1..929fd2a29 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -6550,11 +6550,16 @@ bool Unit::HandleProcTriggerSpell(Unit *pVictim, uint32 damage, Aura* triggeredB // Need add combopoint AFTER finish movie (or they dropped in finish phase) break; } + // Bloodthirst (($m/100)% of max health) + case 23880: + { + basepoints0 = int32(GetMaxHealth() * triggerAmount / 10000); + break; + } // Shamanistic Rage triggered spell case 30824: { basepoints0 = int32(GetTotalAttackPowerValue(BASE_ATTACK) * triggerAmount / 100); - trigger_spell_id = 30824; break; } // Enlightenment (trigger only from mana cost spells) diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 444b76633..f2edd74cf 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 "7166" + #define REVISION_NR "7167" #endif // __REVISION_NR_H__