*Do not allow spells having damage to break root casted by the spell.

*Typohunt: wand skill gain, Improved spell reflection aura drop from party.

--HG--
branch : trunk
This commit is contained in:
QAston
2009-07-14 18:31:59 +02:00
parent 96cd58bd37
commit 87ca52c2a9
3 changed files with 6 additions and 2 deletions
+1 -1
View File
@@ -781,7 +781,7 @@ void Spell::prepareDataForTriggerSystem(AuraEffect * triggeredByAura)
break;
default:
if (m_spellInfo->EquippedItemClass == ITEM_CLASS_WEAPON &&
m_spellInfo->EquippedItemSubClassMask & ITEM_SUBCLASS_WEAPON_WAND
m_spellInfo->EquippedItemSubClassMask & (1<<ITEM_SUBCLASS_WEAPON_WAND)
&& m_spellInfo->AttributesEx2 & SPELL_ATTR_EX2_AUTOREPEAT_FLAG) // Wands auto attack
{
m_procAttacker = PROC_FLAG_SUCCESSFUL_RANGED_HIT;
+1 -1
View File
@@ -7433,7 +7433,7 @@ void AuraEffect::HandleReflectSpells( bool Apply, bool Real , bool /*changeAmoun
if (Unit * caster = GetCaster())
{
// Improved Spell Reflection
if (caster->GetDummyAura(SPELLFAMILY_WARRIOR,1935, 0))
if (caster->GetDummyAura(SPELLFAMILY_WARRIOR,1935, 1))
{
// aura remove - remove auras from all party members
std::list<Unit*> PartyMembers;
+4
View File
@@ -12819,6 +12819,10 @@ void Unit::ProcDamageAndSpellFor( bool isVictim, Unit * pTarget, uint32 procFlag
case SPELL_AURA_MOD_ROOT:
if (isVictim && damage)
{
// Damage is dealt after proc system - lets ignore auras which wasn't updated yet
// to make spell not remove its own aura
if (i->aura->GetAuraDuration() == i->aura->GetAuraMaxDuration())
break;
int32 damageLeft = triggeredByAura->GetAmount();
// No damage left
if (damageLeft < damage )