private void AddSortedDragons()
 {
     NpcList.Add(_holdedDragons.FirstOrDefault(x => x.TemplateId == 1102));
     NpcList.Add(_holdedDragons.FirstOrDefault(x => x.TemplateId == 1100));
     NpcList.Add(_holdedDragons.FirstOrDefault(x => x.TemplateId == 1101));
     NpcList.Add(_holdedDragons.FirstOrDefault(x => x.TemplateId == 1103));
     _holdedDragons.Clear();
 }
예제 #2
0
 public static void LoadNPC()
 {
     NpcList.Clear();
     using (SQLiteConnection conn = new SQLiteConnection("Data Source=npc.db"))
     {
         conn.Open();
         SQLiteCommand cmd = conn.CreateCommand();
         cmd.CommandText = "SELECT * FROM npc";
         using (SQLiteDataReader rdr = cmd.ExecuteReader())
         {
             while (rdr.Read())
             {
                 if (rdr.HasRows)
                 {
                     string    Name = rdr[1].ToString();
                     Texture2D tx   = NpcSpriteList[rdr[2].ToString()];
                     NpcList.Add(new Npc(Name, tx));
                 }
             }
         }
         cmd.CommandText = "SELECT * FROM spawn";
         using (SQLiteDataReader rdr = cmd.ExecuteReader())
         {
             while (rdr.Read())
             {
                 if (rdr.HasRows)
                 {
                     string[]     spltString = new string[] { "<>" };
                     List <Quest> AQuest     = new List <Quest>();
                     if (rdr[4].ToString() != string.Empty)
                     {
                         string[] QuestString = rdr[4].ToString().Split(spltString, StringSplitOptions.RemoveEmptyEntries);
                         foreach (string sb in QuestString)
                         {
                             AQuest.Add(QuestList.Find(x => x.QuestName == sb));
                         }
                     }
                     Npc   n = NpcList.Find(x => x.NpcName == rdr[1].ToString());
                     Spawn s = new Spawn(n, Int32.Parse(rdr[2].ToString()), Int32.Parse(rdr[3].ToString()), AQuest);
                     SpawnList.Add(s);
                 }
             }
         }
     }
 }
예제 #3
0
        public ArcarinasSquare(short id) : base(id)
        {
            MapExits.Add(new MapExit(86, new Rect(59, 0, 67, 2), 63, 105));

            NpcList.Add(new NpcObject(0, "Transporter", 61456, 6, 85, 46, 2, Id));
            NpcList.Add(new NpcObject(1, "North Gate Guard", 61458, 1, 58, 10, 2, Id));
            NpcList.Add(new NpcObject(2, "North Gate Guard", 61458, 1, 67, 10, 2, Id));

            MonsterList.Add(new MonsterObject(0, 1, 68, 36, 2, Id));

            PetList.Add(new PetObject(0, 1, 101, 6, 2, Id));
            PetList.Add(new PetObject(1, 2, 104, 6, 2, Id));
            PetList.Add(new PetObject(2, 3, 107, 6, 2, Id));
            PetList.Add(new PetObject(3, 4, 110, 6, 2, Id));
            PetList.Add(new PetObject(4, 5, 113, 6, 2, Id));
            PetList.Add(new PetObject(5, 6, 116, 9, 3, Id));
            PetList.Add(new PetObject(6, 7, 116, 12, 3, Id));
            PetList.Add(new PetObject(7, 8, 116, 15, 3, Id));
            PetList.Add(new PetObject(8, 9, 116, 18, 3, Id));
            PetList.Add(new PetObject(9, 10, 116, 21, 3, Id));
        }
 public void Spawn(INpc spawnable)
 {
     NpcList.Add(spawnable);
 }