Merge commit 'origin/master' into 320

This commit is contained in:
tomrus88 2009-07-26 10:52:21 +04:00
commit 299f40ac0c
39 changed files with 1131 additions and 480 deletions

View file

@ -1831,7 +1831,7 @@ void Spell::EffectDummy(uint32 i)
break;
case SPELLFAMILY_DEATHKNIGHT:
// Death Coil
if(m_spellInfo->SpellFamilyFlags & UI64LIT(0x002000))
if (m_spellInfo->SpellFamilyFlags & UI64LIT(0x002000))
{
if(m_caster->IsFriendlyTo(unitTarget))
{
@ -1848,6 +1848,12 @@ void Spell::EffectDummy(uint32 i)
}
return;
}
// Hungering Cold
else if (m_spellInfo->SpellFamilyFlags & UI64LIT(0x0000100000000000))
{
m_caster->CastSpell(m_caster, 51209, true);
return;
}
break;
}
@ -2537,8 +2543,9 @@ void Spell::EffectHeal( uint32 /*i*/ )
Aura *targetAura = NULL;
for(Unit::AuraList::const_iterator i = RejorRegr.begin(); i != RejorRegr.end(); ++i)
{
if((*i)->GetSpellProto()->SpellFamilyName == SPELLFAMILY_DRUID
&& ((*i)->GetSpellProto()->SpellFamilyFlags == 0x40 || (*i)->GetSpellProto()->SpellFamilyFlags == 0x10) )
if ((*i)->GetSpellProto()->SpellFamilyName == SPELLFAMILY_DRUID &&
// Regrowth or Rejuvenation 0x40 | 0x10
((*i)->GetSpellProto()->SpellFamilyFlags & UI64LIT(0x0000000000000050)))
{
if(!targetAura || (*i)->GetAuraDuration() < targetAura->GetAuraDuration())
targetAura = *i;
@ -2560,7 +2567,10 @@ void Spell::EffectHeal( uint32 /*i*/ )
int32 tickheal = caster->SpellHealingBonus(unitTarget, targetAura->GetSpellProto(), targetAura->GetModifier()->m_amount, DOT);
int32 tickcount = GetSpellDuration(targetAura->GetSpellProto()) / targetAura->GetSpellProto()->EffectAmplitude[idx];
unitTarget->RemoveAurasDueToSpell(targetAura->GetId());
// Glyph of Swiftmend
if(!caster->HasAura(54824))
unitTarget->RemoveAurasDueToSpell(targetAura->GetId());
addhealth += tickheal * tickcount;
}
@ -5026,6 +5036,7 @@ void Spell::EffectScriptEffect(uint32 effIndex)
case 61177: // Northrend Inscription Research
case 61288: // Minor Inscription Research
case 61756: // Northrend Inscription Research (FAST QA VERSION)
case 64323: // Book of Glyph Mastery
{
if(m_caster->GetTypeId() != TYPEID_PLAYER)
return;