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); }
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); }
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); }
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); }