예제 #1
0
        public static void LoadMonstersLevels()
        {
            var sqlText    = "SELECT * FROM creatures_levels";
            var sqlCommand = new MySqlCommand(sqlText, Program.DBHelper.Use());

            var sqlReader = sqlCommand.ExecuteReader();

            while (sqlReader.Read())
            {
                var newLevel = new Models.Monsters.MonsterLevelModel()
                {
                    ID         = sqlReader.GetInt32("Id"),
                    CreatureID = sqlReader.GetInt32("Mob_Id"),
                    GradeID    = sqlReader.GetInt16("Grade"),

                    Level = sqlReader.GetInt32("Level"),
                    Exp   = sqlReader.GetInt32("Experience"),
                    AP    = sqlReader.GetInt16("Pa"),
                    MP    = sqlReader.GetInt16("Pm"),
                    Life  = sqlReader.GetInt32("Life"),

                    RNeutral  = sqlReader.GetInt32("rNeutral"),
                    RStrenght = sqlReader.GetInt32("rEarth"),
                    RIntel    = sqlReader.GetInt32("rFire"),
                    RLuck     = sqlReader.GetInt32("rWater"),
                    RAgility  = sqlReader.GetInt32("rAir"),

                    RPa = sqlReader.GetInt32("rPA"),
                    RPm = sqlReader.GetInt32("rPM"),

                    Wisdom   = sqlReader.GetInt32("Sagesse"),
                    Strenght = sqlReader.GetInt32("Force"),
                    Intel    = sqlReader.GetInt32("Intelligence"),
                    Luck     = sqlReader.GetInt32("Chance"),
                    Agility  = sqlReader.GetInt32("Agilite"),
                };

                foreach (var newSpell in sqlReader.GetString("Spells").Split(';'))
                {
                    if (newSpell == "")
                    {
                        continue;
                    }

                    var infos = newSpell.Split('@');

                    newLevel.Spells.Add(new CharacterSpell
                                            (int.Parse(infos[0]), int.Parse(infos[1]), -1));
                }

                if (MonstersList.Any(x => x.ID == newLevel.CreatureID))
                {
                    var monster = MonstersList.First(x => x.ID == newLevel.CreatureID);
                    monster.Levels.Add(newLevel);
                }
            }

            sqlReader.Close();
        }
예제 #2
0
        public static void LoadMonstersLevels()
        {
            lock (DatabaseProvider.Locker)
            {
                var sqlText = "SELECT * FROM creatures_levels";
                var sqlCommand = new MySqlCommand(sqlText, DatabaseProvider.Connection);

                var sqlReader = sqlCommand.ExecuteReader();

                while (sqlReader.Read())
                {
                    var newLevel = new Models.Monsters.MonsterLevelModel()
                    {
                        ID = sqlReader.GetInt32("Id"),
                        CreatureID = sqlReader.GetInt32("Mob_Id"),
                        GradeID = sqlReader.GetInt16("Grade"),

                        Level = sqlReader.GetInt32("Level"),
                        Exp = sqlReader.GetInt32("Experience"),
                        AP = sqlReader.GetInt16("Pa"),
                        MP = sqlReader.GetInt16("Pm"),
                        Life = sqlReader.GetInt32("Life"),

                        RNeutral = sqlReader.GetInt32("rNeutral"),
                        RStrenght = sqlReader.GetInt32("rEarth"),
                        RIntel = sqlReader.GetInt32("rFire"),
                        RLuck = sqlReader.GetInt32("rWater"),
                        RAgility = sqlReader.GetInt32("rAir"),

                        RPa = sqlReader.GetInt32("rPA"),
                        RPm = sqlReader.GetInt32("rPM"),

                        Wisdom = sqlReader.GetInt32("Sagesse"),
                        Strenght = sqlReader.GetInt32("Force"),
                        Intel = sqlReader.GetInt32("Intelligence"),
                        Luck = sqlReader.GetInt32("Chance"),
                        Agility = sqlReader.GetInt32("Agilite"),
                    };

                    foreach (var newSpell in sqlReader.GetString("Spells").Split(';'))
                    {
                        if (newSpell == "")
                            continue;

                        var infos = newSpell.Split('@');

                        newLevel.Spells.Add(new Game.Characters.Spells.CharacterSpell
                            (int.Parse(infos[0]), int.Parse(infos[1]), -1));
                    }

                    if (MonstersList.Any(x => x.ID == newLevel.CreatureID))
                    {
                        var monster = MonstersList.First(x => x.ID == newLevel.CreatureID);
                        monster.Levels.Add(newLevel);
                    }
                }

                sqlReader.Close();
            }
        }