mirror of
https://github.com/mangosfour/server.git
synced 2025-12-13 13:37:05 +00:00
[7073] Better detect hunter aspect/tracker spells (also fix it)
Signed-off-by: DiSlord <dislord@nomail.com>
This commit is contained in:
parent
ae1f60c27f
commit
bdac9e6e8f
3 changed files with 9 additions and 17 deletions
|
|
@ -300,8 +300,6 @@ class MANGOS_DLL_SPEC Aura
|
|||
void _AddAura();
|
||||
void _RemoveAura();
|
||||
|
||||
void TriggerSpell();
|
||||
|
||||
bool IsUpdated() { return m_updated; }
|
||||
void SetUpdated(bool val) { m_updated = val; }
|
||||
void SetRemoveMode(AuraRemoveMode mode) { m_removeMode = mode; }
|
||||
|
|
@ -315,6 +313,7 @@ class MANGOS_DLL_SPEC Aura
|
|||
void setDiminishGroup(DiminishingGroup group) { m_AuraDRGroup = group; }
|
||||
DiminishingGroup getDiminishGroup() const { return m_AuraDRGroup; }
|
||||
|
||||
void TriggerSpell();
|
||||
void PeriodicTick();
|
||||
void PeriodicDummyTick();
|
||||
|
||||
|
|
|
|||
|
|
@ -169,6 +169,13 @@ SpellSpecific GetSpellSpecific(uint32 spellId)
|
|||
if (spellInfo->Dispel == DISPEL_POISON)
|
||||
return SPELL_STING;
|
||||
|
||||
// only hunter aspects have this (but not all aspects in hunter family)
|
||||
if( spellInfo->SpellFamilyFlags & 0x0044000000380000LL || spellInfo->SpellFamilyFlags2 & 0x00003010)
|
||||
return SPELL_ASPECT;
|
||||
|
||||
if( spellInfo->SpellFamilyFlags2 & 0x00000002 )
|
||||
return SPELL_TRACKER;
|
||||
|
||||
break;
|
||||
}
|
||||
case SPELLFAMILY_PALADIN:
|
||||
|
|
@ -213,20 +220,6 @@ SpellSpecific GetSpellSpecific(uint32 spellId)
|
|||
return SPELL_WARLOCK_ARMOR;
|
||||
}
|
||||
|
||||
// only hunter aspects have this (but not all aspects in hunter family)
|
||||
if( spellInfo->activeIconID == 122 && (GetSpellSchoolMask(spellInfo) & SPELL_SCHOOL_MASK_NATURE) &&
|
||||
(spellInfo->Attributes & 0x50000) != 0 && (spellInfo->Attributes & 0x9000010) == 0)
|
||||
{
|
||||
return SPELL_ASPECT;
|
||||
}
|
||||
|
||||
for(int i = 0; i < 3; i++)
|
||||
if( spellInfo->Effect[i] == SPELL_EFFECT_APPLY_AURA && (
|
||||
spellInfo->EffectApplyAuraName[i] == SPELL_AURA_TRACK_CREATURES ||
|
||||
spellInfo->EffectApplyAuraName[i] == SPELL_AURA_TRACK_RESOURCES ||
|
||||
spellInfo->EffectApplyAuraName[i] == SPELL_AURA_TRACK_STEALTHED ) )
|
||||
return SPELL_TRACKER;
|
||||
|
||||
// elixirs can have different families, but potion most ofc.
|
||||
if(SpellSpecific sp = spellmgr.GetSpellElixirSpecific(spellInfo->Id))
|
||||
return sp;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#ifndef __REVISION_NR_H__
|
||||
#define __REVISION_NR_H__
|
||||
#define REVISION_NR "7072"
|
||||
#define REVISION_NR "7073"
|
||||
#endif // __REVISION_NR_H__
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue