*Fix Improved Moonkin Form and Blood Boil disease bonus.
--HG-- branch : trunk
This commit is contained in:
@@ -69,6 +69,9 @@ INSERT INTO `spell_linked_spell` (`spell_trigger`, `spell_effect`, `type`, `comm
|
|||||||
(51209, 55095, 1, 'Hungering cold - frost fever'),
|
(51209, 55095, 1, 'Hungering cold - frost fever'),
|
||||||
(50334, 58923, 2, 'Berserk - modify target number aura'),
|
(50334, 58923, 2, 'Berserk - modify target number aura'),
|
||||||
( -5229, -51185, 0, 'King of the Jungle - remove with enrage'),
|
( -5229, -51185, 0, 'King of the Jungle - remove with enrage'),
|
||||||
|
(48384, 50170, 2, 'Improved Moonkin Form'),
|
||||||
|
(48395, 50171, 2, 'Improved Moonkin Form'),
|
||||||
|
(48396, 50172, 2, 'Improved Moonkin Form'),
|
||||||
|
|
||||||
-- Creature
|
-- Creature
|
||||||
( 36574, 36650, 0, 'Apply Phase Slip Vulnerability'),
|
( 36574, 36650, 0, 'Apply Phase Slip Vulnerability'),
|
||||||
|
|||||||
+25
-16
@@ -1398,6 +1398,7 @@ void AuraEffect::HandleShapeshiftBoosts(bool apply)
|
|||||||
{
|
{
|
||||||
uint32 spellId = 0;
|
uint32 spellId = 0;
|
||||||
uint32 spellId2 = 0;
|
uint32 spellId2 = 0;
|
||||||
|
uint32 spellId3 = 0;
|
||||||
uint32 HotWSpellId = 0;
|
uint32 HotWSpellId = 0;
|
||||||
|
|
||||||
switch(GetMiscValue())
|
switch(GetMiscValue())
|
||||||
@@ -1465,7 +1466,6 @@ void AuraEffect::HandleShapeshiftBoosts(bool apply)
|
|||||||
case FORM_STEALTH:
|
case FORM_STEALTH:
|
||||||
case FORM_CREATURECAT:
|
case FORM_CREATURECAT:
|
||||||
case FORM_CREATUREBEAR:
|
case FORM_CREATUREBEAR:
|
||||||
spellId = 0;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1474,13 +1474,19 @@ void AuraEffect::HandleShapeshiftBoosts(bool apply)
|
|||||||
if(apply)
|
if(apply)
|
||||||
{
|
{
|
||||||
// Remove cooldown of spells triggered on stance change - they may share cooldown with stance spell
|
// Remove cooldown of spells triggered on stance change - they may share cooldown with stance spell
|
||||||
if(m_target->GetTypeId() == TYPEID_PLAYER)
|
if (spellId)
|
||||||
((Player *)m_target)->RemoveSpellCooldown(spellId);
|
{
|
||||||
if (spellId) m_target->CastSpell(m_target, spellId, true, NULL, this );
|
if(m_target->GetTypeId() == TYPEID_PLAYER)
|
||||||
|
((Player *)m_target)->RemoveSpellCooldown(spellId);
|
||||||
|
m_target->CastSpell(m_target, spellId, true, NULL, this );
|
||||||
|
}
|
||||||
|
|
||||||
if(m_target->GetTypeId() == TYPEID_PLAYER)
|
if (spellId2)
|
||||||
((Player *)m_target)->RemoveSpellCooldown(spellId2);
|
{
|
||||||
if (spellId2) m_target->CastSpell(m_target, spellId2, true, NULL, this);
|
if(m_target->GetTypeId() == TYPEID_PLAYER)
|
||||||
|
((Player *)m_target)->RemoveSpellCooldown(spellId2);
|
||||||
|
m_target->CastSpell(m_target, spellId2, true, NULL, this);
|
||||||
|
}
|
||||||
|
|
||||||
if(m_target->GetTypeId() == TYPEID_PLAYER)
|
if(m_target->GetTypeId() == TYPEID_PLAYER)
|
||||||
{
|
{
|
||||||
@@ -1549,8 +1555,10 @@ void AuraEffect::HandleShapeshiftBoosts(bool apply)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_target->RemoveAurasDueToSpell(spellId);
|
if (spellId)
|
||||||
m_target->RemoveAurasDueToSpell(spellId2);
|
m_target->RemoveAurasDueToSpell(spellId);
|
||||||
|
if (spellId2)
|
||||||
|
m_target->RemoveAurasDueToSpell(spellId2);
|
||||||
|
|
||||||
Unit::AuraMap& tAuras = m_target->GetAuras();
|
Unit::AuraMap& tAuras = m_target->GetAuras();
|
||||||
for (Unit::AuraMap::iterator itr = tAuras.begin(); itr != tAuras.end();)
|
for (Unit::AuraMap::iterator itr = tAuras.begin(); itr != tAuras.end();)
|
||||||
@@ -2821,6 +2829,14 @@ void AuraEffect::HandleAuraDummy(bool apply, bool Real, bool changeAmount)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Predatory Strikes
|
||||||
|
if(m_target->GetTypeId()==TYPEID_PLAYER && GetSpellProto()->SpellIconID == 1563)
|
||||||
|
{
|
||||||
|
((Player*)m_target)->UpdateAttackPowerAndDamage();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!Real)
|
||||||
|
break;
|
||||||
// Lifebloom
|
// Lifebloom
|
||||||
if ( GetSpellProto()->SpellFamilyFlags[1] & 0x10 )
|
if ( GetSpellProto()->SpellFamilyFlags[1] & 0x10 )
|
||||||
{
|
{
|
||||||
@@ -2850,13 +2866,6 @@ void AuraEffect::HandleAuraDummy(bool apply, bool Real, bool changeAmount)
|
|||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Predatory Strikes
|
|
||||||
if(m_target->GetTypeId()==TYPEID_PLAYER && GetSpellProto()->SpellIconID == 1563)
|
|
||||||
{
|
|
||||||
((Player*)m_target)->UpdateAttackPowerAndDamage();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case SPELLFAMILY_HUNTER:
|
case SPELLFAMILY_HUNTER:
|
||||||
|
|||||||
@@ -680,6 +680,16 @@ void Spell::SpellDamageSchoolDmg(uint32 effect_idx)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case SPELLFAMILY_DEATHKNIGHT:
|
||||||
|
{
|
||||||
|
// Blood Boil - bonus for diseased targets
|
||||||
|
if (m_spellInfo->SpellFamilyFlags[0] & 0x00040000 && unitTarget->GetAura(SPELL_AURA_PERIODIC_DAMAGE, SPELLFAMILY_DEATHKNIGHT, 0, 0, 0x00000002, m_caster->GetGUID()))
|
||||||
|
{
|
||||||
|
damage += m_damage / 2;
|
||||||
|
damage += int32(m_caster->GetTotalAttackPowerValue(RANGED_ATTACK)* 0.035f);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(m_originalCaster && damage > 0 && apply_direct_bonus)
|
if(m_originalCaster && damage > 0 && apply_direct_bonus)
|
||||||
|
|||||||
Reference in New Issue
Block a user