--HG--
branch : trunk
This commit is contained in:
megamage
2009-05-18 15:17:53 -05:00
4 changed files with 36 additions and 10 deletions
@@ -0,0 +1 @@
DELETE FROM `spell_proc_event` WHERE `entry` IN (53651);
+14 -4
View File
@@ -827,7 +827,7 @@ INSERT INTO `spell_proc_event` (`entry`, `SchoolMask`, `SpellFamilyName`, `Spell
(27179, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0), (27179, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0),
(27419, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0), (27419, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0),
(27498, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0), (27498, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0),
(27521, 0, 0, 0, 0, 0, 0, 65536, 0, 0, 0), (27521, 0, 0, 0, 0, 0, 0, 65536, 0, 0, 15),
(27656, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0), (27656, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0),
(27774, 0, 0, 0, 0, 0, 0, 65536, 0, 0, 0), (27774, 0, 0, 0, 0, 0, 0, 65536, 0, 0, 0),
(27787, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0), (27787, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0),
@@ -1340,7 +1340,6 @@ INSERT INTO `spell_proc_event` (`entry`, `SchoolMask`, `SpellFamilyName`, `Spell
(53569, 0, 10, 2097152, 65536, 0, 0, 2, 0, 0, 0), (53569, 0, 10, 2097152, 65536, 0, 0, 2, 0, 0, 0),
(53576, 0, 10, 2097152, 65536, 0, 0, 2, 0, 0, 0), (53576, 0, 10, 2097152, 65536, 0, 0, 2, 0, 0, 0),
(53601, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6), (53601, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6),
(53651, 0, 10, 3221258240, 0, 0, 0, 0, 0, 0, 0),
(53671, 0, 10, 8388608, 0, 0, 0, 0, 0, 0, 0), (53671, 0, 10, 8388608, 0, 0, 0, 0, 0, 0, 0),
(53672, 0, 10, 2097152, 65536, 0, 0, 2, 0, 0, 0), (53672, 0, 10, 2097152, 65536, 0, 0, 2, 0, 0, 0),
(53673, 0, 10, 8388608, 0, 0, 0, 0, 0, 0, 0), (53673, 0, 10, 8388608, 0, 0, 0, 0, 0, 0, 0),
@@ -1451,7 +1450,7 @@ INSERT INTO `spell_proc_event` (`entry`, `SchoolMask`, `SpellFamilyName`, `Spell
(60575, 0, 11, 2416967680, 0, 0, 0, 0, 0, 0, 0), (60575, 0, 11, 2416967680, 0, 0, 0, 0, 0, 0, 0),
(60617, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0), (60617, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0),
(60710, 0, 7, 2, 0, 0, 0, 0, 0, 0, 0), (60710, 0, 7, 2, 0, 0, 0, 0, 0, 0, 0),
(60717, 0, 7, 2, 0, 0, 0, 0, 0, 0, 0), (60717, 0, 7, 2, 0, 0, 0, 0, 0, 100, 0),
(60719, 0, 7, 2, 0, 0, 0, 0, 0, 0, 0), (60719, 0, 7, 2, 0, 0, 0, 0, 0, 0, 0),
(60722, 0, 7, 2, 0, 0, 0, 0, 0, 0, 0), (60722, 0, 7, 2, 0, 0, 0, 0, 0, 0, 0),
(60724, 0, 7, 2, 0, 0, 0, 0, 0, 0, 0), (60724, 0, 7, 2, 0, 0, 0, 0, 0, 0, 0),
@@ -1483,7 +1482,18 @@ INSERT INTO `spell_proc_event` (`entry`, `SchoolMask`, `SpellFamilyName`, `Spell
(9782, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0), (9782, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0),
(9784, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0), (9784, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0),
(9799, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0), (9799, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0),
(56372, 0, 3, 0, 128, 0, 16384, 0, 0, 0, 0); (56372, 0, 3, 0, 128, 0, 16384, 0, 0, 0, 0),
(62147, 0, 15, 2, 0, 0, 0, 0, 0, 0, 0),
(57907, 0, 7, 2, 0, 0, 0, 0, 0, 0, 0),
(55381, 0, 0, 0, 0, 0, 0, 65536, 0, 0, 15),
(62459, 0, 15, 4, 0, 0, 0, 0, 0, 0, 0),
(60176, 0, 4, 32, 16, 0, 0, 0, 0, 0, 0),
(60529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45),
(51528, 0, 0, 0, 0, 0, 0, 0, 2.5, 0, 0),
(51529, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0),
(51530, 0, 0, 0, 0, 0, 0, 0, 7.5, 0, 0),
(51531, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0),
(51532, 0, 0, 0, 0, 0, 0, 0, 12.5, 0, 0);
-- -------- -- --------
-- ENCHANT PROC -- ENCHANT PROC
+1 -3
View File
@@ -5965,12 +5965,10 @@ void AuraEffect::PeriodicTick()
} }
} }
if(Player *modOwner = pCaster->GetSpellModOwner()) if(Player *modOwner = pCaster->GetSpellModOwner())
modOwner->ApplySpellMod(spellProto->Id, SPELLMOD_MULTIPLE_VALUE, multiplier); modOwner->ApplySpellMod(spellProto->Id, SPELLMOD_MULTIPLE_VALUE, multiplier);
// Don't apply heal mods for this aura uint32 heal = uint32(pCaster->SpellHealingBonus(pCaster, spellProto, uint32(new_damage * multiplier), DOT, stackAmount));
uint32 heal = uint32(new_damage * multiplier);//pCaster->SpellHealingBonus(pCaster, spellProto, uint32(new_damage * multiplier), DOT, stackAmount);
int32 gain = pCaster->DealHeal(pCaster, heal, spellProto); int32 gain = pCaster->DealHeal(pCaster, heal, spellProto);
pCaster->getHostilRefManager().threatAssist(pCaster, gain * 0.5f, spellProto); pCaster->getHostilRefManager().threatAssist(pCaster, gain * 0.5f, spellProto);
+20 -3
View File
@@ -9350,11 +9350,23 @@ uint32 Unit::SpellHealingBonus(Unit *pVictim, SpellEntry const *spellProto, uint
int32 DoneAdvertisedBenefit = SpellBaseHealingBonus(GetSpellSchoolMask(spellProto)); int32 DoneAdvertisedBenefit = SpellBaseHealingBonus(GetSpellSchoolMask(spellProto));
int32 TakenAdvertisedBenefit = SpellBaseHealingBonusForVictim(GetSpellSchoolMask(spellProto), pVictim); int32 TakenAdvertisedBenefit = SpellBaseHealingBonusForVictim(GetSpellSchoolMask(spellProto), pVictim);
bool scripted = false;
for (uint8 i=0;i<3;++i)
{
switch (spellProto->EffectApplyAuraName[i])
{
// These auras do not use healing coeff
case SPELL_AURA_PERIODIC_LEECH:
case SPELL_AURA_PERIODIC_HEALTH_FUNNEL:
scripted = true;
break;
}
}
// Check for table values // Check for table values
SpellBonusEntry const* bonus = spellmgr.GetSpellBonusData(spellProto->Id); SpellBonusEntry const* bonus = scripted ? spellmgr.GetSpellBonusData(spellProto->Id) : NULL;
float coeff; float coeff;
float factorMod = 1.0f; float factorMod = 1.0f;
bool scripted = false;
if (bonus) if (bonus)
{ {
if (damagetype == DOT) if (damagetype == DOT)
@@ -9384,6 +9396,11 @@ uint32 Unit::SpellHealingBonus(Unit *pVictim, SpellEntry const *spellProto, uint
{ {
factorMod *= 0.45f; factorMod *= 0.45f;
} }
// Already set to scripted? so not uses healing bonus coefficient
else if (scripted)
{
coeff = 0.0f;
}
} }
// Default calculation // Default calculation
@@ -13732,7 +13749,7 @@ void Unit::AddAura(uint32 spellId, Unit* target)
if (!eff_mask) if (!eff_mask)
return; return;
Aura *Aur = new Aura(spellInfo, eff_mask, NULL, target, this); Aura *Aur = new Aura(spellInfo, eff_mask, NULL, target, this, NULL, target);
target->AddAura(Aur); target->AddAura(Aur);
} }