Core/Spells: Corrected the spell id source used in the learn spells map when loading SpellLearnSpell.db2 data
Port From (https://github.com/TrinityCore/TrinityCore/commit/9e948ff4bd5d2f584cde19d851bbbf1bb93b51d4)
This commit is contained in:
@@ -979,16 +979,16 @@ namespace Game.Entities
|
|||||||
|
|
||||||
foreach (var spellLearnSpell in CliDB.SpellLearnSpellStorage.Values)
|
foreach (var spellLearnSpell in CliDB.SpellLearnSpellStorage.Values)
|
||||||
{
|
{
|
||||||
if (!HasSpellInfo(spellLearnSpell.SpellID, Difficulty.None))
|
if (!HasSpellInfo(spellLearnSpell.SpellID, Difficulty.None) || !HasSpellInfo(spellLearnSpell.LearnSpellID, Difficulty.None))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
var db_node_bounds = mSpellLearnSpells.LookupByKey(spellLearnSpell.LearnSpellID);
|
var db_node_bounds = mSpellLearnSpells.LookupByKey(spellLearnSpell.SpellID);
|
||||||
bool found = false;
|
bool found = false;
|
||||||
foreach (var spellNode in db_node_bounds)
|
foreach (var spellNode in db_node_bounds)
|
||||||
{
|
{
|
||||||
if (spellNode.Spell == spellLearnSpell.SpellID)
|
if (spellNode.Spell == spellLearnSpell.LearnSpellID)
|
||||||
{
|
{
|
||||||
Log.outError(LogFilter.Sql, "Found redundant record (entry: {0}, SpellID: {1}) in `spell_learn_spell`, spell added automatically from SpellLearnSpell.db2", spellLearnSpell.LearnSpellID, spellLearnSpell.SpellID);
|
Log.outError(LogFilter.Sql, $"Found redundant record (entry: {spellLearnSpell.SpellID}, SpellID: {spellLearnSpell.LearnSpellID}) in `spell_learn_spell`, spell added automatically from SpellLearnSpell.db2");
|
||||||
found = true;
|
found = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -998,11 +998,11 @@ namespace Game.Entities
|
|||||||
continue;
|
continue;
|
||||||
|
|
||||||
// Check if it is already found in Spell.dbc, ignore silently if yes
|
// Check if it is already found in Spell.dbc, ignore silently if yes
|
||||||
var dbc_node_bounds = GetSpellLearnSpellMapBounds(spellLearnSpell.LearnSpellID);
|
var dbc_node_bounds = GetSpellLearnSpellMapBounds(spellLearnSpell.SpellID);
|
||||||
found = false;
|
found = false;
|
||||||
foreach (var spellNode in dbc_node_bounds)
|
foreach (var spellNode in dbc_node_bounds)
|
||||||
{
|
{
|
||||||
if (spellNode.Spell == spellLearnSpell.SpellID)
|
if (spellNode.Spell == spellLearnSpell.LearnSpellID)
|
||||||
{
|
{
|
||||||
found = true;
|
found = true;
|
||||||
break;
|
break;
|
||||||
@@ -1013,12 +1013,12 @@ namespace Game.Entities
|
|||||||
continue;
|
continue;
|
||||||
|
|
||||||
SpellLearnSpellNode dbcLearnNode = new SpellLearnSpellNode();
|
SpellLearnSpellNode dbcLearnNode = new SpellLearnSpellNode();
|
||||||
dbcLearnNode.Spell = spellLearnSpell.SpellID;
|
dbcLearnNode.Spell = spellLearnSpell.LearnSpellID;
|
||||||
dbcLearnNode.OverridesSpell = spellLearnSpell.OverridesSpellID;
|
dbcLearnNode.OverridesSpell = spellLearnSpell.OverridesSpellID;
|
||||||
dbcLearnNode.Active = true;
|
dbcLearnNode.Active = true;
|
||||||
dbcLearnNode.AutoLearned = false;
|
dbcLearnNode.AutoLearned = false;
|
||||||
|
|
||||||
mSpellLearnSpells.Add(spellLearnSpell.LearnSpellID, dbcLearnNode);
|
mSpellLearnSpells.Add(spellLearnSpell.SpellID, dbcLearnNode);
|
||||||
++dbc_count;
|
++dbc_count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user