*Fix Dash - original patch by Dani.
*Set max target limit for Circle of healing. --HG-- branch : trunk
This commit is contained in:
@@ -0,0 +1,3 @@
|
|||||||
|
DELETE FROM `spell_proc_event` WHERE `entry` IN (54754);
|
||||||
|
INSERT INTO `spell_proc_event` VALUES
|
||||||
|
(54754, 0x00, 7, 0x00000010, 0x00000000, 0x00000000, 0x00000000, 0x0000000, 0.000000, 0.000000, 0);
|
||||||
+19
-1
@@ -3073,6 +3073,20 @@ void AuraEffect::HandleAuraModShapeshift(bool apply, bool Real)
|
|||||||
|
|
||||||
if(m_target->GetTypeId()==TYPEID_PLAYER)
|
if(m_target->GetTypeId()==TYPEID_PLAYER)
|
||||||
((Player*)m_target)->InitDataForForm();
|
((Player*)m_target)->InitDataForForm();
|
||||||
|
|
||||||
|
if(m_target->getClass() == CLASS_DRUID)
|
||||||
|
{
|
||||||
|
if(form == FORM_CAT && apply) // add dash if in cat-from
|
||||||
|
{
|
||||||
|
if(AuraEffect * aurEff =m_target->GetAura(SPELL_AURA_MOD_INCREASE_SPEED, SPELLFAMILY_DRUID, 0, 0, 0x8))
|
||||||
|
m_target->HandleAuraEffect(aurEff, true);
|
||||||
|
}
|
||||||
|
else // remove dash effect(not buff) if out of cat-from
|
||||||
|
{
|
||||||
|
if(AuraEffect * aurEff =m_target->GetAura(SPELL_AURA_MOD_INCREASE_SPEED, SPELLFAMILY_DRUID, 0, 0, 0x8))
|
||||||
|
m_target->HandleAuraEffect(aurEff, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void AuraEffect::HandleAuraTransform(bool apply, bool Real)
|
void AuraEffect::HandleAuraTransform(bool apply, bool Real)
|
||||||
@@ -3950,12 +3964,16 @@ void AuraEffect::HandleModTaunt(bool apply, bool Real)
|
|||||||
/*********************************************************/
|
/*********************************************************/
|
||||||
/*** MODIFY SPEED ***/
|
/*** MODIFY SPEED ***/
|
||||||
/*********************************************************/
|
/*********************************************************/
|
||||||
void AuraEffect::HandleAuraModIncreaseSpeed(bool /*apply*/, bool Real)
|
void AuraEffect::HandleAuraModIncreaseSpeed(bool apply, bool Real)
|
||||||
{
|
{
|
||||||
// all applied/removed only at real aura add/remove
|
// all applied/removed only at real aura add/remove
|
||||||
if(!Real)
|
if(!Real)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if(apply) // Dash wont work if you are not in cat form
|
||||||
|
if(m_spellProto->SpellFamilyName==SPELLFAMILY_DRUID && m_spellProto->SpellFamilyFlags[2] & 0x8 && m_target->m_form != FORM_CAT )
|
||||||
|
return;
|
||||||
|
|
||||||
m_target->UpdateSpeed(MOVE_RUN, true);
|
m_target->UpdateSpeed(MOVE_RUN, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2423,6 +2423,11 @@ void SpellMgr::LoadSpellCustomAttr()
|
|||||||
if(spellInfo->SpellFamilyFlags[2] & 0x100)
|
if(spellInfo->SpellFamilyFlags[2] & 0x100)
|
||||||
spellInfo->MaxAffectedTargets = 2;
|
spellInfo->MaxAffectedTargets = 2;
|
||||||
break;
|
break;
|
||||||
|
// circle of healing
|
||||||
|
case SPELLFAMILY_PRIEST:
|
||||||
|
if(spellInfo->SpellFamilyFlags[0] & 0x10000000)
|
||||||
|
spellInfo->MaxAffectedTargets = 5;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user