예제 #1
0
 private void InitSpawn()
 {
     for (int i = 0; i < entityCount; i++)
     {
         Nod start = spawn.SearchFreeNode();
         if (start != null)
         {
             Database.Mob mob = new Database.Mob(start, this, 1);
             world.AddMonster(mob);
         }
     }
 }
예제 #2
0
 public void Respawn()
 {
     while (true)
     {
         Nod start = spawn.SearchFreeNode();
         if (start != null)
         {
             Database.Mob mob = new Database.Mob(start, this, 1);
             //Output.WriteLine("Spawn::Respawn Mob ID: " + mob.InternalID.ToString());
             world.AddMonster(mob);
             break;
         }
     }
 }
예제 #3
0
 public MobSpawn(Database.Mob mob)
     : base((byte)SEND_HEADER.MOB_SPAWN, 29)
 {
     streamWriter.Write(1);
     streamWriter.Write(mob.InternalID);
     streamWriter.Write(mob.PosX);
     streamWriter.Write(mob.PosY);
     streamWriter.Write(mob.Type);
     streamWriter.Write(mob.MaxHealth);
     streamWriter.Write(mob.ActHealth);
     streamWriter.Write(1);
     if (Program.DEBUG_send)
     {
         Output.WriteLine("SendPacketHandlers::MobSpawn Send [" + mob.PosX.ToString() + "," + mob.PosY.ToString() + "," + mob.PosZ.ToString() + "]");
     }
 }