diff options
author | Carbenium <carbenium@outlook.com> | 2015-11-10 19:58:13 +0100 |
---|---|---|
committer | Carbenium <carbenium@outlook.com> | 2015-11-14 04:22:42 +0100 |
commit | 230e820898c4e7d17f17f5ad03bff6e981ade9b4 (patch) | |
tree | dbd32c46e6c3418e09069a1f113f5ea687b9bfc3 /src/server/game/Globals/ObjectMgr.cpp | |
parent | 4e76974ce5ba3f6ebd73d6dd96860b60d50a19f4 (diff) |
Core/Creature: Remove duplicate call to LoadCreatureAddons in Creature::Create
* Add error log for duplicated aura entries in creature_(template_)addon
(cherry picked from commit c5f635b6896abaa3b9a2242c63c61a37fc60bf80)
Conflicts:
src/server/game/Entities/Creature/Creature.cpp
src/server/game/Globals/ObjectMgr.cpp
Diffstat (limited to 'src/server/game/Globals/ObjectMgr.cpp')
-rw-r--r-- | src/server/game/Globals/ObjectMgr.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index ca41d9890e5..cc990cc3b1c 100644 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -577,6 +577,12 @@ void ObjectMgr::LoadCreatureTemplateAddons() if (AdditionalSpellInfo->HasAura(DIFFICULTY_NONE, SPELL_AURA_CONTROL_VEHICLE)) TC_LOG_ERROR("sql.sql", "Creature (Entry: %u) has SPELL_AURA_CONTROL_VEHICLE aura %u defined in `auras` field in `creature_template_addon`.", entry, spellId); + if (std::find(creatureAddon.auras.begin(), creatureAddon.auras.end(), spellId) != creatureAddon.auras.end()) + { + TC_LOG_ERROR("sql.sql", "Creature (Entry: %u) has duplicate aura (spell %lu) in `auras` field in `creature_template_addon`.", entry, spellId); + continue; + } + creatureAddon.auras[i++] = spellId; } @@ -1028,6 +1034,12 @@ void ObjectMgr::LoadCreatureAddons() if (AdditionalSpellInfo->HasAura(DIFFICULTY_NONE, SPELL_AURA_CONTROL_VEHICLE)) TC_LOG_ERROR("sql.sql", "Creature (GUID: " UI64FMTD ") has SPELL_AURA_CONTROL_VEHICLE aura %u defined in `auras` field in `creature_addon`.", guid, spellId); + if (std::find(creatureAddon.auras.begin(), creatureAddon.auras.end(), spellId) != creatureAddon.auras.end()) + { + TC_LOG_ERROR("sql.sql", "Creature (GUID: %u) has duplicate aura (spell %lu) in `auras` field in `creature_addon`.", guid, spellId); + continue; + } + creatureAddon.auras[i++] = spellId; } |