Core/Spells: Implemented SPELL_ATTR5_HIDE_DURATION. Duration of auras with this attribute will not be displayed clientside

This commit is contained in:
SeTM
2011-05-28 21:53:32 +07:00
committed by tobmaps
parent df619d8da1
commit fade2383cc
2 changed files with 3 additions and 3 deletions

View File

@@ -452,8 +452,8 @@ enum SpellAttr5
SPELL_ATTR5_UNK6 = 0x00000040, // 6
SPELL_ATTR5_UNK7 = 0x00000080, // 7
SPELL_ATTR5_UNK8 = 0x00000100, // 8
SPELL_ATTR5_START_PERIODIC_AT_APPLY = 0x00000200, // 9 begin periodic tick at aura apply
SPELL_ATTR5_UNK10 = 0x00000400, // 10
SPELL_ATTR5_START_PERIODIC_AT_APPLY = 0x00000200, // 9 begin periodic tick at aura apply
SPELL_ATTR5_HIDE_DURATION = 0x00000400, // 10 do not send duration to client
SPELL_ATTR5_UNK11 = 0x00000800, // 11
SPELL_ATTR5_UNK12 = 0x00001000, // 12
SPELL_ATTR5_HASTE_AFFECT_DURATION = 0x00002000, // 13 haste effects decrease duration of this

View File

@@ -195,7 +195,7 @@ void AuraApplication::ClientUpdate(bool remove)
Aura const * aura = GetBase();
data << uint32(aura->GetId());
uint32 flags = m_flags;
if (aura->GetMaxDuration() > 0)
if (aura->GetMaxDuration() > 0 && !(aura->GetSpellProto()->AttributesEx5 & SPELL_ATTR5_HIDE_DURATION))
flags |= AFLAG_DURATION;
data << uint8(flags);
data << uint8(aura->GetCasterLevel());