*Merge.
--HG-- branch : trunk
This commit is contained in:
@@ -0,0 +1 @@
|
|||||||
|
DELETE FROM `spell_proc_event` WHERE `entry` IN (53651);
|
||||||
@@ -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
|
||||||
|
|||||||
@@ -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
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user