Exemple #1
0
 public Monster(MonsterType Info, Mapping.MobSpawn Spawn)
 {
     this.Info = Info;
     this.Spawn = Spawn;
     UniqueID = Increments.NextMonsterUID;
     packetWriter = new Writer(82 + Info.Name.Length);
     packetWriter.Fill((ushort)82 + Info.Name.Length, 0);
     packetWriter.Fill((ushort)1014, 2);
     packetWriter.Fill(UniqueID, 4);
     packetWriter.Fill(Info.Model, 8);
     packetWriter.Fill(Info.Level, 50);
     packetWriter.Fill((byte)0x64, 59);
     packetWriter.Fill((byte)1, 80);
     packetWriter.Fill((byte)Info.Name.Length, 81);
     packetWriter.Fill(Info.Name, 82);
     HitPoints = Info.MaxHealth;
     Facing = (Enums.ConquerAngle)Program.Random.Next(0, 7);
 }
Exemple #2
0
 public Monster(MonsterType Info, Mapping.MobSpawn Spawn)
 {
     this.Info    = Info;
     this.Spawn   = Spawn;
     UniqueID     = Increments.NextMonsterUID;
     packetWriter = new Writer(82 + Info.Name.Length);
     packetWriter.Fill((ushort)82 + Info.Name.Length, 0);
     packetWriter.Fill((ushort)1014, 2);
     packetWriter.Fill(UniqueID, 4);
     packetWriter.Fill(Info.Model, 8);
     packetWriter.Fill(Info.Level, 50);
     packetWriter.Fill((byte)0x64, 59);
     packetWriter.Fill((byte)1, 80);
     packetWriter.Fill((byte)Info.Name.Length, 81);
     packetWriter.Fill(Info.Name, 82);
     HitPoints = Info.MaxHealth;
     Facing    = (Enums.ConquerAngle)Program.Random.Next(0, 7);
 }
 public static void LoadMonsterSpawns()
 {
     foreach (Mapping.Map M in Kernel.Maps.Values)
     {
         if (Directory.Exists("C:/db/Mobs/" + M.UniqueID))
         {
             string[] Files = Directory.GetFiles("C:/db/Mobs/" + M.UniqueID);
             foreach (string FilePath in Files)
             {
                 uint MobID = uint.Parse(FilePath.Remove(0, FilePath.LastIndexOf('\\') + 1).Replace(".ini", ""));
                 Entities.MonsterType MonsterType;
                 if (Kernel.MonsterTypes.TryGetValue(MobID, out MonsterType))
                 {
                     string[] Data = File.ReadAllLines(FilePath);
                     foreach (string spawnData in Data)
                     {
                         if (spawnData != "")
                         {
                             string[] line = spawnData.Split(' ');
                             Mapping.MobSpawn Spawn = new Mapping.MobSpawn(int.Parse(line[0]), int.Parse(line[1]), int.Parse(line[2]), int.Parse(line[3]));
                             Spawn.UniqueID = Increments.NextSpawnUID;
                             byte MobAmount = byte.Parse(line[4]);
                             for (int x = 0; x < MobAmount; x++)
                             {
                                 Entities.Monster Mob = new Entities.Monster(MonsterType, Spawn);
                                 int px, py;
                                 Spawn.GetLocation(out px, out py);
                                 Mob.Map = M;
                                 Mob.RespawnDelay = Program.Random.Next(1000, 4000);
                                 Mob.X = Mob.SpawnX = (ushort)px;
                                 Mob.Y = Mob.SpawnY = (ushort)py;
                                 M.Insert(Mob);
                             }
                         }
                     }
                 }
             }
         }
     }
 }
Exemple #4
0
 public static void LoadMonsterSpawns()
 {
     foreach (Mapping.Map M in Kernel.Maps.Values)
     {
         if (Directory.Exists("C:/db/Mobs/" + M.UniqueID))
         {
             string[] Files = Directory.GetFiles("C:/db/Mobs/" + M.UniqueID);
             foreach (string FilePath in Files)
             {
                 uint MobID = uint.Parse(FilePath.Remove(0, FilePath.LastIndexOf('\\') + 1).Replace(".ini", ""));
                 Entities.MonsterType MonsterType;
                 if (Kernel.MonsterTypes.TryGetValue(MobID, out MonsterType))
                 {
                     string[] Data = File.ReadAllLines(FilePath);
                     foreach (string spawnData in Data)
                     {
                         if (spawnData != "")
                         {
                             string[]         line  = spawnData.Split(' ');
                             Mapping.MobSpawn Spawn = new Mapping.MobSpawn(int.Parse(line[0]), int.Parse(line[1]), int.Parse(line[2]), int.Parse(line[3]));
                             Spawn.UniqueID = Increments.NextSpawnUID;
                             byte MobAmount = byte.Parse(line[4]);
                             for (int x = 0; x < MobAmount; x++)
                             {
                                 Entities.Monster Mob = new Entities.Monster(MonsterType, Spawn);
                                 int px, py;
                                 Spawn.GetLocation(out px, out py);
                                 Mob.Map          = M;
                                 Mob.RespawnDelay = Program.Random.Next(1000, 4000);
                                 Mob.X            = Mob.SpawnX = (ushort)px;
                                 Mob.Y            = Mob.SpawnY = (ushort)py;
                                 M.Insert(Mob);
                             }
                         }
                     }
                 }
             }
         }
     }
 }