Esempio n. 1
0
        public void SpawnShip()
        {
            BaseGalleon gal;

            if (this is PirateCaptain)
            {
                gal = new OrcishGalleon(Direction.North);
            }
            else if (Map == Map.Tokuno)
            {
                gal = new TokunoGalleon(Direction.North);
            }
            else
            {
                gal = new GargishGalleon(Direction.North);
            }

            Point3D p   = Location;
            Map     map = Map;

            // Move this sucka out of the way!
            Internalize();

            if (gal.CanFit(p, map, gal.ItemID))
            {
                gal.Owner = this;
                gal.MoveToWorld(p, map);
                m_Galleon = gal;

                BountyQuestSpawner.FillHold(m_Galleon);
                MoveToWorld(new Point3D(p.X, p.Y - 1, gal.Z + gal.ZSurface), map);

                int crewCount = Utility.RandomMinMax(3, 5);

                for (int j = 0; j < crewCount; j++)
                {
                    Mobile crew = new PirateCrew();

                    if (j == 0 && this is PirateCaptain)
                    {
                        crew.Title = "the orc captain";
                    }

                    AddToCrew(crew);
                    crew.MoveToWorld(new Point3D(gal.X + Utility.RandomList(-1, 1), gal.Y + Utility.RandomList(-1, 0, 1), gal.ZSurface), map);
                }

                gal.AutoAddCannons(this);

                return;
            }
            else
            {
                gal.Delete();
                Delete();
            }
        }
Esempio n. 2
0
        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
            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 = 1,
                HomeRange  = 5
            };
            sp.MoveToWorld(new Point3D(4552, 2299, -1), Map.Trammel);
            sp.Respawn();
            WeakEntityCollection.Add(name, sp);

            sp = new XmlSpawner(toSpawn)
            {
                SpawnRange = 1,
                HomeRange  = 5
            };
            sp.MoveToWorld(new Point3D(4540, 2321, -1), Map.Felucca);
            sp.Respawn();
            WeakEntityCollection.Add(name, sp);

            toSpawn = "GBBigglesby";

            sp = new XmlSpawner(toSpawn)
            {
                SpawnRange = 1,
                HomeRange  = 5
            };
            sp.MoveToWorld(new Point3D(4544, 2302, -1), Map.Trammel);
            sp.Respawn();
            WeakEntityCollection.Add(name, sp);

            sp = new XmlSpawner(toSpawn)
            {
                SpawnRange = 1,
                HomeRange  = 5
            };
            sp.MoveToWorld(new Point3D(4544, 2302, -1), Map.Felucca);
            sp.Respawn();
            WeakEntityCollection.Add(name, sp);

            toSpawn = "GBBigglesby/Name/Mitsubishi/Title/the fleet officer";

            sp = new XmlSpawner(toSpawn)
            {
                SpawnRange = 1,
                HomeRange  = 10
            };
            sp.MoveToWorld(new Point3D(713, 1370, 6), Map.Tokuno);
            sp.Respawn();
            WeakEntityCollection.Add(name, sp);

            toSpawn = "BoatPainter";

            sp = new XmlSpawner(toSpawn)
            {
                SpawnRange = 1,
                HomeRange  = 15
            };
            sp.MoveToWorld(new Point3D(4552, 2337, -2), Map.Trammel);
            sp.Respawn();
            WeakEntityCollection.Add(name, sp);

            sp = new XmlSpawner(toSpawn)
            {
                SpawnRange = 1,
                HomeRange  = 15
            };
            sp.MoveToWorld(new Point3D(4552, 2337, -2), Map.Felucca);
            sp.Respawn();
            WeakEntityCollection.Add(name, sp);

            toSpawn = "Banker";

            sp = new XmlSpawner(toSpawn)
            {
                SpawnRange = 1,
                HomeRange  = 5
            };
            sp.MoveToWorld(new Point3D(4554, 2315, -2), Map.Trammel);
            sp.Respawn();
            WeakEntityCollection.Add(name, sp);

            sp = new XmlSpawner(toSpawn)
            {
                SpawnRange = 1,
                HomeRange  = 5
            };
            sp.MoveToWorld(new Point3D(4554, 2315, -2), Map.Felucca);
            sp.Respawn();
            WeakEntityCollection.Add(name, sp);

            toSpawn = "CrabFisher";

            sp = new XmlSpawner(toSpawn)
            {
                SpawnRange = 1,
                HomeRange  = 15
            };
            sp.MoveToWorld(new Point3D(4552, 2336, -2), Map.Trammel);
            sp.Respawn();
            WeakEntityCollection.Add(name, sp);

            sp = new XmlSpawner(toSpawn)
            {
                SpawnRange = 1,
                HomeRange  = 15
            };
            sp.MoveToWorld(new Point3D(4552, 2336, -2), Map.Felucca);
            sp.Respawn();
            WeakEntityCollection.Add(name, sp);

            sp = new XmlSpawner(toSpawn)
            {
                SpawnRange = 1,
                HomeRange  = 15
            };
            sp.MoveToWorld(new Point3D(4552, 2378, -2), Map.Trammel);
            sp.Respawn();
            WeakEntityCollection.Add(name, sp);

            sp = new XmlSpawner(toSpawn)
            {
                SpawnRange = 1,
                HomeRange  = 15
            };
            sp.MoveToWorld(new Point3D(4552, 2378, -2), Map.Felucca);
            sp.Respawn();
            WeakEntityCollection.Add(name, sp);

            toSpawn = "DockMaster";

            sp = new XmlSpawner(toSpawn)
            {
                SpawnRange = 1,
                HomeRange  = 10
            };
            sp.MoveToWorld(new Point3D(4565, 2307, -2), Map.Trammel);
            sp.Respawn();
            WeakEntityCollection.Add(name, sp);

            sp = new XmlSpawner(toSpawn)
            {
                SpawnRange = 1,
                HomeRange  = 10
            };
            sp.MoveToWorld(new Point3D(4565, 2307, -2), Map.Felucca);
            sp.Respawn();
            WeakEntityCollection.Add(name, sp);

            toSpawn = "SeaMarketTavernKeeper";

            sp = new XmlSpawner(toSpawn)
            {
                SpawnRange = 1,
                HomeRange  = 5
            };
            sp.MoveToWorld(new Point3D(4544, 2302, -1), Map.Trammel);
            sp.Respawn();
            WeakEntityCollection.Add(name, sp);

            sp = new XmlSpawner(toSpawn)
            {
                SpawnRange = 1,
                HomeRange  = 5
            };
            sp.MoveToWorld(new Point3D(4544, 2302, -1), Map.Felucca);
            sp.Respawn();
            WeakEntityCollection.Add(name, sp);

            SeaMarketBuoy bouy1 = new SeaMarketBuoy();
            SeaMarketBuoy bouy2 = new SeaMarketBuoy();
            SeaMarketBuoy bouy3 = new SeaMarketBuoy();
            SeaMarketBuoy bouy4 = new SeaMarketBuoy();
            SeaMarketBuoy bouy5 = new SeaMarketBuoy();
            SeaMarketBuoy bouy6 = new SeaMarketBuoy();
            SeaMarketBuoy bouy7 = new SeaMarketBuoy();
            SeaMarketBuoy bouy8 = new SeaMarketBuoy();

            Rectangle2D bound = Regions.SeaMarketRegion.Bounds[0];

            bouy1.MoveToWorld(new Point3D(bound.X, bound.Y, -5), Map.Felucca);
            bouy2.MoveToWorld(new Point3D(bound.X, bound.Y, -5), Map.Trammel);
            WeakEntityCollection.Add(name, bouy1);
            WeakEntityCollection.Add(name, bouy2);

            bouy3.MoveToWorld(new Point3D(bound.X + bound.Width, bound.Y, -5), Map.Felucca);
            bouy4.MoveToWorld(new Point3D(bound.X + bound.Width, bound.Y, -5), Map.Trammel);
            WeakEntityCollection.Add(name, bouy3);
            WeakEntityCollection.Add(name, bouy4);

            bouy5.MoveToWorld(new Point3D(bound.X + bound.Width, bound.Y + bound.Height, -5), Map.Felucca);
            bouy6.MoveToWorld(new Point3D(bound.X + bound.Width, bound.Y + bound.Height, -5), Map.Trammel);
            WeakEntityCollection.Add(name, bouy5);
            WeakEntityCollection.Add(name, bouy6);

            bouy7.MoveToWorld(new Point3D(bound.X, bound.Y + bound.Height, -5), Map.Felucca);
            bouy8.MoveToWorld(new Point3D(bound.X, bound.Y + bound.Height, -5), Map.Trammel);
            WeakEntityCollection.Add(name, bouy7);
            WeakEntityCollection.Add(name, bouy8);

            Console.WriteLine("High Seas Content generated.");
        }