--HG--
branch : trunk
This commit is contained in:
QAston
2010-07-14 17:09:30 +02:00
parent a43ec3f158
commit d59cc55351
2 changed files with 13 additions and 14 deletions
+12 -13
View File
@@ -3566,19 +3566,18 @@ void Unit::_AddAura(UnitAura * aura, Unit * caster)
// find current aura from spell and change it's stackamount // find current aura from spell and change it's stackamount
if (Aura * foundAura = GetOwnedAura(aura->GetId(), aura->GetCasterGUID(), 0, aura)) if (Aura * foundAura = GetOwnedAura(aura->GetId(), aura->GetCasterGUID(), 0, aura))
{ {
if (foundAura->GetSpellProto()->StackAmount) if (aura->GetSpellProto()->StackAmount)
{ {
foundAura->ModStackAmount(foundAura->GetStackAmount()); aura->ModStackAmount(foundAura->GetStackAmount());
}
// Update periodic timers from the previous aura // Update periodic timers from the previous aura
for (uint8 i = 0; i < MAX_SPELL_EFFECTS; ++i) for (uint8 i = 0; i < MAX_SPELL_EFFECTS; ++i)
{ {
AuraEffect *existingEff = foundAura->GetEffect(i); AuraEffect *existingEff = foundAura->GetEffect(i);
AuraEffect *newEff = aura->GetEffect(i); AuraEffect *newEff = aura->GetEffect(i);
if (!existingEff || !newEff) if (!existingEff || !newEff)
continue; continue;
newEff->SetPeriodicTimer(existingEff->GetPeriodicTimer()); newEff->SetPeriodicTimer(existingEff->GetPeriodicTimer());
}
} }
// Use the new one to replace the old one // Use the new one to replace the old one
@@ -7815,7 +7814,7 @@ bool Unit::HandleAuraProc(Unit * pVictim, uint32 damage, Aura * triggeredByAura,
*handled = true; *handled = true;
if (pVictim->HasAura(53601)) if (pVictim->HasAura(53601))
{ {
int32 bp0 = (damage/12) * SpellMgr::CalculateSpellEffectAmount(procSpell, 2)/100; int32 bp0 = (damage/12) * SpellMgr::CalculateSpellEffectAmount(dummySpell, 2)/100;
CastCustomSpell(pVictim, 66922, &bp0, NULL, NULL, true); CastCustomSpell(pVictim, 66922, &bp0, NULL, NULL, true);
return true; return true;
} }
+1 -1
View File
@@ -470,7 +470,7 @@ void Aura::UpdateTargetMap(Unit * caster, bool apply)
// check target immunities // check target immunities
if (itr->first->IsImmunedToSpell(GetSpellProto()) if (itr->first->IsImmunedToSpell(GetSpellProto())
// check area target requirements // check area target requirements
|| (itr->first != GetOwner() && !CheckAreaTarget(itr->first))) || (itr->first != GetOwner() && !CheckAreaTarget(itr->first)))
addUnit = false; addUnit = false;
if (addUnit) if (addUnit)