aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2021-03-12 22:25:47 +0100
committerShauren <shauren.trinity@gmail.com>2021-03-12 22:25:47 +0100
commitdeed58f080fe11cfdeb7623b4ed577d062456702 (patch)
tree5b1f3afb3c930ff1201b5923038a75fd06669ee5
parent71112d4d169ef192f8c3c9eb1303bdd880336eaa (diff)
Core/Spells: Check if serverside spells don't overwrite db2 spells
-rw-r--r--src/server/game/Spells/SpellMgr.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp
index 8a907aacf66..07d14fe530c 100644
--- a/src/server/game/Spells/SpellMgr.cpp
+++ b/src/server/game/Spells/SpellMgr.cpp
@@ -2777,6 +2777,13 @@ void SpellMgr::LoadSpellInfoServerside()
Field* fields = spellsResult->Fetch();
uint32 spellId = fields[0].GetUInt32();
Difficulty difficulty = Difficulty(fields[2].GetUInt32());
+ if (sSpellNameStore.HasRecord(spellId))
+ {
+ TC_LOG_ERROR("sql.sql", "Serverside spell %u difficulty %u is already loaded from file. Overriding existing spells is not allowed.",
+ spellId, uint32(difficulty));
+ continue;
+ }
+
mServersideSpellNames.emplace_back(spellId, fields[61].GetString());
SpellInfo& spellInfo = const_cast<SpellInfo&>(*mSpellInfoMap.emplace(&mServersideSpellNames.back().Name, difficulty, spellEffects[{ spellId, difficulty }]).first);