*Do not allow spells having damage to break root casted by the spell.
*Typohunt: wand skill gain, Improved spell reflection aura drop from party. --HG-- branch : trunk
This commit is contained in:
+1
-1
@@ -781,7 +781,7 @@ void Spell::prepareDataForTriggerSystem(AuraEffect * triggeredByAura)
|
|||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (m_spellInfo->EquippedItemClass == ITEM_CLASS_WEAPON &&
|
if (m_spellInfo->EquippedItemClass == ITEM_CLASS_WEAPON &&
|
||||||
m_spellInfo->EquippedItemSubClassMask & ITEM_SUBCLASS_WEAPON_WAND
|
m_spellInfo->EquippedItemSubClassMask & (1<<ITEM_SUBCLASS_WEAPON_WAND)
|
||||||
&& m_spellInfo->AttributesEx2 & SPELL_ATTR_EX2_AUTOREPEAT_FLAG) // Wands auto attack
|
&& m_spellInfo->AttributesEx2 & SPELL_ATTR_EX2_AUTOREPEAT_FLAG) // Wands auto attack
|
||||||
{
|
{
|
||||||
m_procAttacker = PROC_FLAG_SUCCESSFUL_RANGED_HIT;
|
m_procAttacker = PROC_FLAG_SUCCESSFUL_RANGED_HIT;
|
||||||
|
|||||||
@@ -7433,7 +7433,7 @@ void AuraEffect::HandleReflectSpells( bool Apply, bool Real , bool /*changeAmoun
|
|||||||
if (Unit * caster = GetCaster())
|
if (Unit * caster = GetCaster())
|
||||||
{
|
{
|
||||||
// Improved Spell Reflection
|
// Improved Spell Reflection
|
||||||
if (caster->GetDummyAura(SPELLFAMILY_WARRIOR,1935, 0))
|
if (caster->GetDummyAura(SPELLFAMILY_WARRIOR,1935, 1))
|
||||||
{
|
{
|
||||||
// aura remove - remove auras from all party members
|
// aura remove - remove auras from all party members
|
||||||
std::list<Unit*> PartyMembers;
|
std::list<Unit*> PartyMembers;
|
||||||
|
|||||||
@@ -12819,6 +12819,10 @@ void Unit::ProcDamageAndSpellFor( bool isVictim, Unit * pTarget, uint32 procFlag
|
|||||||
case SPELL_AURA_MOD_ROOT:
|
case SPELL_AURA_MOD_ROOT:
|
||||||
if (isVictim && damage)
|
if (isVictim && damage)
|
||||||
{
|
{
|
||||||
|
// Damage is dealt after proc system - lets ignore auras which wasn't updated yet
|
||||||
|
// to make spell not remove its own aura
|
||||||
|
if (i->aura->GetAuraDuration() == i->aura->GetAuraMaxDuration())
|
||||||
|
break;
|
||||||
int32 damageLeft = triggeredByAura->GetAmount();
|
int32 damageLeft = triggeredByAura->GetAmount();
|
||||||
// No damage left
|
// No damage left
|
||||||
if (damageLeft < damage )
|
if (damageLeft < damage )
|
||||||
|
|||||||
Reference in New Issue
Block a user