context: using Server.Commands;
  using Server.Engines.Quests;
  using Server.Mobiles;
  using System;
  
  namespace Server.Items
  {
      public static class GenerateHighSeas
      {
          public static void Initialize()
          {
              CommandSystem.Register("DecorateHS", AccessLevel.Administrator, GenerateDeco);
              CommandSystem.Register("DeleteHS", AccessLevel.Administrator, DeleteHS);
  
              CommandSystem.Register("CharydbisSpawner", AccessLevel.Administrator, Spawner);
          }
  
          public static void Spawner(CommandEventArgs e)
          {
              if (CharydbisSpawner.SpawnInstance == null)
                  e.Mobile.SendMessage("Charydbis spawner does not exist.");
              else
                  e.Mobile.SendGump(new Gumps.PropertiesGump(e.Mobile, CharydbisSpawner.SpawnInstance));
          }
  
          public static void DeleteHS(CommandEventArgs e)
          {
              WeakEntityCollection.Delete("highseas");
  
              if (CharydbisSpawner.SpawnInstance != null)
                  CharydbisSpawner.SpawnInstance.Active = false;
  
              if (BountyQuestSpawner.Instance != null)
                  BountyQuestSpawner.Instance.Active = false;
          }
  
          public static void GenerateDeco(CommandEventArgs e)
          {
              string name = "highseas";
  
              CharydbisSpawner.GenerateCharydbisSpawner();
              BountyQuestSpawner.GenerateShipSpawner();
  
              CorgulAltar altar;
  
              altar = new CorgulAltar();
              altar.MoveToWorld(new Point3D(2453, 865, 0), Map.Felucca);
              WeakEntityCollection.Add(name, altar);
  
              altar = new CorgulAltar();
              altar.MoveToWorld(new Point3D(2453, 865, 0), Map.Trammel);
              WeakEntityCollection.Add(name, altar);
  
              ProfessionalBountyBoard board;
  
              board = new ProfessionalBountyBoard();
              board.MoveToWorld(new Point3D(4544, 2298, -1), Map.Trammel);
              WeakEntityCollection.Add(name, board);
  
              board = new ProfessionalBountyBoard();
              board.MoveToWorld(new Point3D(4544, 2298, -1), Map.Felucca);
              WeakEntityCollection.Add(name, board);
  
              LocalizedSign sign;
  
              sign = new LocalizedSign(3025, 1152653); //The port of Zento Parking Area
              sign.MoveToWorld(new Point3D(713, 1359, 53), Map.Tokuno);
              WeakEntityCollection.Add(name, sign);
  
              sign = new LocalizedSign(3023, 1149821); //Winds Tavern
              sign.MoveToWorld(new Point3D(4548, 2300, -6), Map.Trammel);
              WeakEntityCollection.Add(name, sign);
  
              sign = new LocalizedSign(3023, 1149821); //Winds Tavern
              sign.MoveToWorld(new Point3D(4548, 2300, -6), Map.Felucca);
              WeakEntityCollection.Add(name, sign);
  
              sign = new LocalizedSign(3023, 1149820); //General Store
              sign.MoveToWorld(new Point3D(4543, 2317, -3), Map.Trammel);
              WeakEntityCollection.Add(name, sign);
  
              sign = new LocalizedSign(3023, 1149820); //General Store
              sign.MoveToWorld(new Point3D(4543, 2317, -3), Map.Felucca);
              WeakEntityCollection.Add(name, sign);
  
              XmlSpawner sp;
              string toSpawn = "FishMonger";
  
              //Britain
              sp = new XmlSpawner(toSpawn)
              {
                  SpawnRange = 1,
                  HomeRange = 5
              };
              sp.MoveToWorld(new Point3D(1482, 1754, -2), Map.Trammel);
              sp.Respawn();
              WeakEntityCollection.Add(name, sp);
  
              sp = new XmlSpawner(toSpawn)
              {
                  SpawnRange = 1,
                  HomeRange = 5
              };
              sp.MoveToWorld(new Point3D(1482, 1754, -2), Map.Felucca);
              sp.Respawn();
              WeakEntityCollection.Add(name, sp);
  
              //Moonglow
              sp = new XmlSpawner(toSpawn)
              {
                  SpawnRange = 1,
                  HomeRange = 5
              };
              sp.MoveToWorld(new Point3D(4406, 1049, -2), Map.Trammel);
              sp.Respawn();
              WeakEntityCollection.Add(name, sp);
  
              sp = new XmlSpawner(toSpawn)
              {
                  SpawnRange = 1,
                  HomeRange = 5
              };
              sp.MoveToWorld(new Point3D(4406, 1049, -2), Map.Felucca);
              sp.Respawn();
              WeakEntityCollection.Add(name, sp);
  
              //Trinsic
              sp = new XmlSpawner(toSpawn)
              {
                  SpawnRange = 1,
                  HomeRange = 5
              };
              sp.MoveToWorld(new Point3D(2061, 2855, -2), Map.Trammel);
              sp.Respawn();
              WeakEntityCollection.Add(name, sp);
  
              sp = new XmlSpawner(toSpawn)
              {
                  SpawnRange = 1,
                  HomeRange = 5
              };
              sp.MoveToWorld(new Point3D(2061, 2855, -2), Map.Felucca);
              sp.Respawn();
              WeakEntityCollection.Add(name, sp);
  
              //Vesper
              sp = new XmlSpawner(toSpawn)
              {
                  SpawnRange = 1,
                  HomeRange = 5
              };
              sp.MoveToWorld(new Point3D(3009, 826, -2), Map.Trammel);
              sp.Respawn();
              WeakEntityCollection.Add(name, sp);
  
              sp = new XmlSpawner(toSpawn)
              {
                  SpawnRange = 1,
                  HomeRange = 5
              };
              sp.MoveToWorld(new Point3D(3009, 826, -2), Map.Felucca);
              sp.Respawn();
              WeakEntityCollection.Add(name, sp);
  
              //Jhelom
              sp = new XmlSpawner(toSpawn)
              {
                  SpawnRange = 1,
                  HomeRange = 5
              };
              sp.MoveToWorld(new Point3D(1373, 3885, -2), Map.Trammel);
              sp.Respawn();
              WeakEntityCollection.Add(name, sp);
  
              sp = new XmlSpawner(toSpawn)
              {
                  SpawnRange = 1,
                  HomeRange = 5
              };
              sp.MoveToWorld(new Point3D(1373, 3885, -2), Map.Felucca);
              sp.Respawn();
              WeakEntityCollection.Add(name, sp);
  
              //Skara Brae
              sp = new XmlSpawner(toSpawn)
              {
                  SpawnRange = 1,
                  HomeRange = 5
              };
              sp.MoveToWorld(new Point3D(641, 2234, -2), Map.Trammel);
              sp.Respawn();
              WeakEntityCollection.Add(name, sp);
  
              sp = new XmlSpawner(toSpawn);
              sp.MoveToWorld(new Point3D(641, 2234, -2), Map.Felucca);
              sp.Respawn();
              WeakEntityCollection.Add(name, sp);
  
              //Papua
              sp = new XmlSpawner(toSpawn)
              {
                  SpawnRange = 1,
                  HomeRange = 5
              };
              sp.MoveToWorld(new Point3D(5827, 3258, -2), Map.Trammel);
              sp.Respawn();
              WeakEntityCollection.Add(name, sp);
  
              sp = new XmlSpawner(toSpawn)
              {
                  SpawnRange = 1,
                  HomeRange = 5
              };
              sp.MoveToWorld(new Point3D(5827, 3258, -2), Map.Felucca);
              sp.Respawn();
              WeakEntityCollection.Add(name, sp);
  
              //Floating Eproriam
              sp = new XmlSpawner(toSpawn)
              {
                  SpawnRange = 0,
                  HomeRange = 0
              };
              sp.MoveToWorld(new Point3D(4552, 2299, -1), Map.Trammel);
              sp.Respawn();
              WeakEntityCollection.Add(name, sp);
  
              sp = new XmlSpawner(toSpawn)
              {
                  SpawnRange = 0,
                  HomeRange = 0
              };
              sp.MoveToWorld(new Point3D(4540, 2321, -1), Map.Felucca);
              sp.Respawn();
              WeakEntityCollection.Add(name, sp);
  
              toSpawn = "DocksAlchemist";
  
              //Britain
              sp = new XmlSpawner(toSpawn)
              {
                  SpawnRange = 1,
                  HomeRange = 5
              };
              sp.MoveToWorld(new Point3D(1482, 1754, -2), Map.Trammel);
              sp.Respawn();
              WeakEntityCollection.Add(name, sp);
  
              sp = new XmlSpawner(toSpawn)
              {
                  SpawnRange = 1,
                  HomeRange = 5
              };
              sp.MoveToWorld(new Point3D(1482, 1754, -2), Map.Felucca);
              sp.Respawn();
              WeakEntityCollection.Add(name, sp);
  
              //Moonglow
  
gt:             sp = new XmlSpawner(toSpawn)