mirror of
https://github.com/mangosfour/server.git
synced 2025-12-13 04:37:00 +00:00
[10253] Small cleanup in Unit::HasAura() to prevent redundant upper_bound calls.
This commit is contained in:
parent
61990de6dd
commit
6c6ce87867
3 changed files with 8 additions and 2 deletions
|
|
@ -4755,7 +4755,8 @@ Aura* Unit::GetAura(AuraType type, uint32 family, uint64 familyFlag, uint32 fami
|
||||||
|
|
||||||
bool Unit::HasAura(uint32 spellId, SpellEffectIndex effIndex) const
|
bool Unit::HasAura(uint32 spellId, SpellEffectIndex effIndex) const
|
||||||
{
|
{
|
||||||
for(SpellAuraHolderMap::const_iterator i_holder = m_spellAuraHolders.lower_bound(spellId); i_holder != m_spellAuraHolders.upper_bound(spellId); ++i_holder)
|
SpellAuraHolderConstBounds spair = GetSpellAuraHolderBounds(spellId);
|
||||||
|
for(SpellAuraHolderMap::const_iterator i_holder = spair.first; i_holder != spair.second; ++i_holder)
|
||||||
if (i_holder->second->GetAuraByEffectIndex(effIndex))
|
if (i_holder->second->GetAuraByEffectIndex(effIndex))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1109,6 +1109,7 @@ class MANGOS_DLL_SPEC Unit : public WorldObject
|
||||||
typedef std::set<Unit*> AttackerSet;
|
typedef std::set<Unit*> AttackerSet;
|
||||||
typedef std::multimap< uint32, SpellAuraHolder*> SpellAuraHolderMap;
|
typedef std::multimap< uint32, SpellAuraHolder*> SpellAuraHolderMap;
|
||||||
typedef std::pair<SpellAuraHolderMap::iterator, SpellAuraHolderMap::iterator> SpellAuraHolderBounds;
|
typedef std::pair<SpellAuraHolderMap::iterator, SpellAuraHolderMap::iterator> SpellAuraHolderBounds;
|
||||||
|
typedef std::pair<SpellAuraHolderMap::const_iterator, SpellAuraHolderMap::const_iterator> SpellAuraHolderConstBounds;
|
||||||
typedef std::list<SpellAuraHolder *> SpellAuraHolderList;
|
typedef std::list<SpellAuraHolder *> SpellAuraHolderList;
|
||||||
typedef std::list<Aura *> AuraList;
|
typedef std::list<Aura *> AuraList;
|
||||||
typedef std::list<DiminishingReturn> Diminishing;
|
typedef std::list<DiminishingReturn> Diminishing;
|
||||||
|
|
@ -1364,6 +1365,10 @@ class MANGOS_DLL_SPEC Unit : public WorldObject
|
||||||
{
|
{
|
||||||
return SpellAuraHolderBounds(m_spellAuraHolders.lower_bound(spell_id), m_spellAuraHolders.upper_bound(spell_id));
|
return SpellAuraHolderBounds(m_spellAuraHolders.lower_bound(spell_id), m_spellAuraHolders.upper_bound(spell_id));
|
||||||
}
|
}
|
||||||
|
SpellAuraHolderConstBounds GetSpellAuraHolderBounds(uint32 spell_id) const
|
||||||
|
{
|
||||||
|
return SpellAuraHolderConstBounds(m_spellAuraHolders.lower_bound(spell_id), m_spellAuraHolders.upper_bound(spell_id));
|
||||||
|
}
|
||||||
|
|
||||||
bool HasAuraType(AuraType auraType) const;
|
bool HasAuraType(AuraType auraType) const;
|
||||||
bool HasAura(uint32 spellId, SpellEffectIndex effIndex) const;
|
bool HasAura(uint32 spellId, SpellEffectIndex effIndex) const;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
#ifndef __REVISION_NR_H__
|
#ifndef __REVISION_NR_H__
|
||||||
#define __REVISION_NR_H__
|
#define __REVISION_NR_H__
|
||||||
#define REVISION_NR "10252"
|
#define REVISION_NR "10253"
|
||||||
#endif // __REVISION_NR_H__
|
#endif // __REVISION_NR_H__
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue