public void CreateCharacterSpells(ref WS_PlayerData.CharacterObject objCharacter) { DataTable CreateInfoSpells = new(); WorldServiceLocator._WorldServer.WorldDatabase.Query($"SELECT * FROM playercreateinfo_spell WHERE race = {(int)objCharacter.Race} AND class = {(int)objCharacter.Classe};", ref CreateInfoSpells); if (CreateInfoSpells.Rows.Count <= 0) { WorldServiceLocator._WorldServer.Log.WriteLine(LogType.FAILED, "No information found in playercreateinfo_spell table Race: {0}, Class: {1}", objCharacter.Race, objCharacter.Classe); } IEnumerator enumerator = default; try { enumerator = CreateInfoSpells.Rows.GetEnumerator(); while (enumerator.MoveNext()) { DataRow row = (DataRow)enumerator.Current; objCharacter.LearnSpell(row.As <int>("Spell")); } } finally { if (enumerator is IDisposable) { (enumerator as IDisposable).Dispose(); } } }