From deed58f080fe11cfdeb7623b4ed577d062456702 Mon Sep 17 00:00:00 2001 From: Shauren Date: Fri, 12 Mar 2021 22:25:47 +0100 Subject: Core/Spells: Check if serverside spells don't overwrite db2 spells --- src/server/game/Spells/SpellMgr.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src') 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(*mSpellInfoMap.emplace(&mServersideSpellNames.back().Name, difficulty, spellEffects[{ spellId, difficulty }]).first); -- cgit v1.2.3