Ejemplo n.º 1
0
        public static GauntletSpawner CreateSpawner(
            string typeName, int xSpawner, int ySpawner, int xDoor, int yDoor,
            int xPentagram, int yPentagram, bool doorEastToWest, int xStart, int yStart, int xWidth, int yHeight
            )
        {
            var spawner = new GauntletSpawner(typeName);

            spawner.MoveToWorld(new Point3D(xSpawner, ySpawner, -1), Map.Malas);

            if (xDoor > 0 && yDoor > 0)
            {
                spawner.Door = CreateDoorSet(xDoor, yDoor, doorEastToWest, 0);
            }

            spawner.RegionBounds = new Rectangle2D(xStart, yStart, xWidth, yHeight);

            if (xPentagram > 0 && yPentagram > 0)
            {
                var pentagram = new PentagramAddon();

                pentagram.MoveToWorld(new Point3D(xPentagram, yPentagram, -1), Map.Malas);

                spawner.Addon = pentagram;
            }

            return(spawner);
        }
Ejemplo n.º 2
0
        private void CheckPentagram()
        {
            IPooledEnumerable eable = Map.Malas.GetItemsInRange(PentagramLoc, 0);

            foreach (Item item in eable)
            {
                if (item is PentagramAddon)
                {
                    eable.Free();
                    return;
                }
            }

            eable.Free();

            var addon = new PentagramAddon();

            addon.MoveToWorld(PentagramLoc, Map.Malas);
        }
Ejemplo n.º 3
0
        public static GauntletSpawner CreateSpawner(string typeName, int xSpawner, int ySpawner, int xDoor, int yDoor, int xPentagram, int yPentagram, bool doorEastToWest, int xStart, int yStart, int xWidth, int yHeight)
        {
            var spawnLoc = new Point3D(xSpawner, ySpawner, -1);
            var map      = Map.Malas;

            if (!MythikStaticValues.UpdateLoc(ref spawnLoc, ref map))
            {
                return(null);
            }

            GauntletSpawner spawner = new GauntletSpawner(typeName);

            spawner.MoveToWorld(spawnLoc, map);

            if (xDoor > 0 && yDoor > 0)
            {
                spawner.Door = CreateDoorSet(xDoor, yDoor, doorEastToWest, 0);
            }

            spawner.RegionBounds = MythikStaticValues.UpdateDoomBounds(new Rectangle2D(xStart, yStart, xWidth, yHeight));

            if (xPentagram > 0 && yPentagram > 0)
            {
                var PentagramLoc = new Point3D(xPentagram, yPentagram, -1);
                var mapPenta     = Map.Malas;
                if (!MythikStaticValues.UpdateLoc(ref PentagramLoc, ref mapPenta))
                {
                    return(null);
                }
                PentagramAddon pentagram = new PentagramAddon();

                pentagram.MoveToWorld(PentagramLoc, mapPenta);

                spawner.Addon = pentagram;
            }

            return(spawner);
        }
Ejemplo n.º 4
0
        public static GauntletSpawner CreateSpawner(
            string typeName,
            int xSpawner,
            int ySpawner,
            int xDoor,
            int yDoor,
            int xPentagram,
            int yPentagram,
            bool doorEastToWest,
            int xStart,
            int yStart,
            int xWidth,
            int yHeight)
        {
            var sp = new Point3D(xSpawner, ySpawner, -1);

            GauntletSpawner spawner;

            if (FindObject(Map.Malas, sp, 0, out spawner))
            {
                spawner.Delete();
            }

            spawner = new GauntletSpawner(typeName);
            spawner.MoveToWorld(sp, Map.Malas);

            if (spawner.Door != null)
            {
                DeleteDoor(spawner.Door);
            }

            if (xDoor > 0 && yDoor > 0)
            {
                spawner.Door = CreateDoorSet(xDoor, yDoor, doorEastToWest, 0);
            }

            spawner.RegionBounds = new Rectangle2D(xStart, yStart, xWidth, yHeight);

            if (spawner.Addon != null)
            {
                spawner.Addon.Delete();
                spawner.Addon = null;
            }

            if (xPentagram > 0 && yPentagram > 0)
            {
                var pp = new Point3D(xPentagram, yPentagram, -1);

                PentagramAddon pentagram;

                if (FindObject(Map.Malas, pp, 0, out pentagram))
                {
                    pentagram.Delete();
                }

                pentagram = new PentagramAddon();
                pentagram.MoveToWorld(pp, Map.Malas);

                WeakEntityCollection.Add("doom", pentagram);

                spawner.Addon = pentagram;
            }

            WeakEntityCollection.Add("doom", spawner);

            return(spawner);
        }